1) Ya , pilih dengan NOLOCKakan menyelesaikan lebih cepat dari pilih normal.
2) Ya , pilih dengan NOLOCKakan memungkinkan kueri lain terhadap tabel yang dilakukan untuk menyelesaikan lebih cepat dari pilih normal.
Mengapa ini terjadi?
NOLOCKbiasanya (tergantung pada mesin DB Anda) berarti memberi saya data Anda, dan saya tidak peduli keadaan apa itu, dan jangan repot-repot menahannya saat Anda membaca dari itu. Semuanya sekaligus lebih cepat, kurang intensif sumber daya, dan sangat sangat berbahaya.
Anda harus diperingatkan untuk tidak pernah melakukan pembaruan dari atau melakukan sistem apa pun kritis, atau di mana kebenaran mutlak diperlukan menggunakan data yang berasal dari NOLOCKmembaca. Sangat mungkin bahwa data ini berisi baris yang telah dihapus selama menjalankan kueri atau yang telah dihapus di sesi lain yang belum selesai. Ada kemungkinan bahwa data ini termasuk baris yang sebagian telah diperbarui. Ada kemungkinan bahwa data ini berisi catatan yang melanggar batasan kunci asing. Ada kemungkinan bahwa data ini mengecualikan baris yang telah ditambahkan ke tabel tetapi belum dilakukan.
Anda benar-benar tidak memiliki cara untuk mengetahui status data.
Jika Anda mencoba untuk mendapatkan hal-hal seperti Row Row atau data ringkasan lainnya di mana beberapa margin kesalahan dapat diterima, maka itu NOLOCKadalah cara yang baik untuk meningkatkan kinerja untuk kueri ini dan menghindarinya berdampak negatif terhadap kinerja database.
Selalu gunakan NOLOCKpetunjuk dengan sangat hati-hati dan memperlakukan data apa pun yang dikembalikan dengan mencurigakan.