1) Ya , pilih dengan NOLOCK
akan menyelesaikan lebih cepat dari pilih normal.
2) Ya , pilih dengan NOLOCK
akan memungkinkan kueri lain terhadap tabel yang dilakukan untuk menyelesaikan lebih cepat dari pilih normal.
Mengapa ini terjadi?
NOLOCK
biasanya (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 NOLOCK
membaca. 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 NOLOCK
adalah cara yang baik untuk meningkatkan kinerja untuk kueri ini dan menghindarinya berdampak negatif terhadap kinerja database.
Selalu gunakan NOLOCK
petunjuk dengan sangat hati-hati dan memperlakukan data apa pun yang dikembalikan dengan mencurigakan.