Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 8936|Jawab: 0

Kunci SQL NOLOCK, HOLDLOCK, UPDLOCK, TABLOCK, TABLOCKX

[Salin tautan]
Diposting pada 20/07/2016 14.02.51 | | |

NOLOCK
Saat opsi ini dipilih, SQL Server membaca atau memodifikasi data tanpa kunci apa pun. Dalam hal ini, pengguna dapat membaca data dari Transaksi yang Tidak Dilakukan atau Roll Back, yang dikenal sebagai "data kotor".

KUNCI TAHAN
Ketika opsi ini dipilih, SQL Server mempertahankan kunci bersama ini hingga akhir seluruh transaksi tanpa melepaskannya di jalan.

UPDLOCK
Saat opsi ini dipilih, SQL Server menggunakan kunci modifikasi alih-alih kunci bersama saat membaca data dan mempertahankan kunci ini hingga akhir seluruh transaksi atau perintah. Opsi ini memastikan bahwa beberapa proses dapat membaca data secara bersamaan, tetapi hanya proses tersebut yang dapat memodifikasi data.

TABLOCK
Ketika opsi ini dipilih, SQL Server akan menempatkan kunci bersama di seluruh tabel hingga perintah berakhir. Opsi ini memastikan bahwa proses lain hanya dapat membaca dan tidak memodifikasi data.

PAGLOCK
Opsi ini adalah opsi default, dan saat dipilih, SQL Server menggunakan kunci halaman bersama.

TABLOCKX (Kunci Meja Eksklusif)
Ketika opsi ini dipilih, SQL Server akan menempatkan kunci di seluruh tabel hingga perintah atau transaksi berakhir. Ini akan mencegah proses lain membaca atau memodifikasi data dalam tabel.

HOLDLOCK menahan kunci bersama hingga seluruh transaksi selesai dan harus dilepaskan segera setelah objek terkunci tidak diperlukan, sama dengan tingkat isolasi transaksi SERIALIZABLE

Pernyataan NOLOCK dijalankan tanpa mengeluarkan kunci bersama, memungkinkan pembacaan kotor, yang sama dengan tingkat isolasi transaksi READ UNCOMMITTED

PAGLOCK menggunakan beberapa kunci halaman di mana satu kunci tabel digunakan

READPAST memungkinkan server sql melewati baris terkunci dan mengeksekusi transaksi, dan untuk tingkat isolasi transaksi READ UNCOMMITTED hanya melewati kunci RID, bukan kunci halaman, zona, dan tabel

ROWLOCK memberlakukan penggunaan rowlocks

TABLOCKX memberlakukan penggunaan kunci tingkat tabel eksklusif, yang mencegah transaksi lain menggunakan tabel selama transaksi

UPLOCK memaksa penggunaan pembaruan saat membaca tabel tanpa kunci bersama

Catatan: Perbedaan antara mengunci tabel dalam database
PILIH * DARI tabel DENGAN (HOLDLOCK) Transaksi lain dapat membaca tabel, tetapi tidak dapat memperbarui atau menghapus
PILIH * DARI tabel DENGAN (TABLOCKX) Transaksi lain tidak dapat membaca, memperbarui, dan menghapus tabel




Mantan:Kunci, pembacaan kotor, pembacaan yang tidak dapat diulang, dan pembacaan palsu di SQL
Depan:SQL Server melihat kebuntuan dan melepaskan kebuntuan
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com