Karena Anda harus menggunakan WITH (NOLOCK) untuk setiap tabel, mungkin akan mengganggu jika menuliskannya di setiap klausa FROM atau JOIN. Namun ada alasan mengapa ini disebut sebagai bacaan "kotor". Jadi, Anda benar-benar harus tahu kapan Anda melakukannya, dan tidak menyetelnya sebagai default untuk cakupan sesi. Mengapa?
Melupakan WITH (NOLOCK) mungkin tidak mempengaruhi program Anda dengan cara yang sangat dramatis, namun melakukan pembacaan kotor di mana Anda tidak menginginkannya dapat membuat perbedaan dalam keadaan tertentu.
Jadi gunakan DENGAN (NOLOCK) jika data saat ini yang dipilih dibiarkan salah, karena mungkin akan diputar kembali nanti. Ini sebagian besar digunakan ketika Anda ingin meningkatkan kinerja, dan persyaratan pada konteks aplikasi Anda memungkinkannya mengambil risiko bahwa data yang tidak konsisten ditampilkan. Namun Anda atau seseorang yang bertanggung jawab harus mempertimbangkan pro dan kontra dari keputusan menggunakan WITH (NOLOCK).
REPEATABLE READdaripadaSERIALIZABLEjika Anda tidak peduli dengan data hantu.SERIALIZABLESANGAT membatasi dan hampir tidak boleh digunakan (kecuali misalnya dalam beberapa aplikasi keuangan penting).