Rumah >pangkalan data >Oracle >Apakah kegunaan untuk kemas kini dalam oracle
Dalam Oracle, "untuk kemas kini" ialah kunci peringkat baris, yang digunakan untuk menggunakan kunci peringkat baris pada baris Pengguna yang dikunci boleh membuat pertanyaan dan mengemas kini baris data, tetapi pengguna lain tidak boleh membuat pertanyaan dan kemas kini. Sintaks untuk baris terkunci ialah "PILIH * DARI nama jadual DI MANA nama lajur UNTUK KEMASKINI;".
Persekitaran pengendalian tutorial ini: sistem Windows 10, versi Oracle 11g, komputer Dell G3.
Kunci kemas kini yang dikongsi hanya akan dikeluarkan apabila salah satu daripada keadaan berikut berlaku: 1 Laksanakan pernyataan komit (COMMIT)
Keluar daripada pangkalan data (LOG MATI)
3 Program berhenti berjalan
2 Konsep dan penggunaanBiasanya, pernyataan pilih tidak akan mengunci data dan menghalangnya. impak. Operasi DML dan DDL yang lain. Pada masa yang sama, dengan sokongan mekanisme bacaan konsisten berbilang versi, pernyataan pilihan tidak akan disekat oleh jenis pernyataan lain.
Pernyataan pilih … untuk kemas kini ialah pernyataan penguncian manual yang sering kami gunakan. Apabila anda melaksanakan pilih ... untuk kemas kini dalam pangkalan data, anda akan mendapati bahawa jadual atau data baris tertentu dalam pangkalan data akan dikunci Dalam mysql, jika syarat pertanyaan mengandungi kunci utama, data baris akan dikunci tidak, meja akan dikunci. Memandangkan InnoDB lalai kepada Row-Level Lock, MySQL akan melaksanakan kunci Row (hanya mengunci data yang dipilih) hanya jika kunci utama "secara jelas" ditentukan Jika tidak, MySQL akan melaksanakan Kunci Jadual ( Kunci keseluruhan data bentuk).
Contohnya: Katakan terdapat pengguna jadual dengan dua lajur, id dan nama, dan id ialah kunci utama.
Contoh 1: (Nyatakan kunci primer secara eksplisit, dan data itu wujud, kunci baris)
Contoh 2: (Nyatakan kunci primer secara eksplisit, tetapi data tidak wujud , tiada kunci)
Contoh 3: (Kunci primer tidak jelas, kunci meja)
SELECT * FROM user WHERE id=3 FOR UPDATE; SELECT * FROM user WHERE id=3 and name='Tom' FOR UPDATE;
Contoh 4: (Tiada kunci utama, kunci meja)
SELECT * FROM user WHERE id=0 FOR UPDATE;
Nota:
SELECT * FROM user WHERE id<>3 FOR UPDATE; SELECT * FROM user WHERE id LIKE '%3%' FOR UPDATE;1 FOR UPDATE hanya terpakai kepada InnoDB dan mesti berada dalam modul pemprosesan transaksi (BEGIN/COMMIT) untuk berkuat kuasa. 2. Untuk menguji situasi penguncian, anda boleh menggunakan Mod Perintah MySQL untuk membuka dua tetingkap untuk ujian.
SELECT * FROM user WHERE name='Tom' FOR UPDATE;
3. Myisam hanya menyokong kunci peringkat jadual, manakala InnerDB menyokong kunci peringkat baris Data dengan kunci tambahan (kunci peringkat baris/kunci peringkat meja) tidak boleh dikunci oleh transaksi lain, begitu juga kunci tersebut. diubahsuai oleh transaksi lain. Apabila ia adalah kunci peringkat jadual, jadual akan dikunci tanpa mengira sama ada rekod itu ditanya.
3. Bilakah anda perlu menggunakan untuk kemas kini?Dengan pernyataan untuk kemas kini, kami boleh melaksanakan operasi penguncian dan perlindungan data secara manual di peringkat aplikasi. Apabila anda memerlukan data peringkat perniagaan eksklusif, anda boleh mempertimbangkan untuk menggunakan untuk kemas kini.
Dalam senario, seperti tempahan tiket kereta api, tiket dipaparkan pada skrin, tetapi apabila tiket itu benar-benar dikeluarkan, adalah perlu untuk mengesahkan semula bahawa data tidak diubah suai oleh pelanggan lain. Oleh itu, semasa proses pengesahan ini, anda boleh gunakan untuk kemas kini.
4 untuk mengemas kini kunci pesimisKunci pesimis: sentiasa anggap senario kes terburuk dan fikir orang lain akan mengubah suai setiap kali anda mendapat data, jadi setiap kali masa Ia akan dikunci setiap kali data diambil, supaya jika orang lain ingin mendapatkan semula data, mereka akan disekat sehingga ia dibuka kunci. Banyak mekanisme kunci sedemikian digunakan dalam pangkalan data hubungan tradisional, seperti kunci baris, kunci meja, kunci baca, kunci tulis, dll., yang semuanya dikunci sebelum operasi. Sama seperti untuk kemas kini, pelaksanaan kata kunci yang disegerakkan dalam Java juga merupakan kunci pesimis.
Kunci optimis: Seperti namanya, ia sangat optimistik Setiap kali anda pergi untuk mendapatkan data, anda fikir orang lain tidak akan mengubah suainya, jadi anda tidak akan menguncinya akan menilai sama ada orang lain telah melawat dalam tempoh ini Untuk mengemas kini data ini, anda boleh menggunakan mekanisme seperti nombor versi. Penguncian optimistik sesuai untuk jenis aplikasi berbilang baca, yang boleh meningkatkan daya pemprosesan Mekanisme keadaan_tulis yang disediakan oleh pangkalan data sebenarnya adalah kunci optimistik yang disediakan. Tutorial yang disyorkan: "
Tutorial Video Oracle"
Atas ialah kandungan terperinci Apakah kegunaan untuk kemas kini dalam oracle. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!