Apabila mendapatkan semula rekod daripada jadual A yang tidak wujud dalam jadual B, SQL Server menawarkan dua pilihan: LEFT OUTER JOIN dan TIDAK WUJUD. Walaupun lazimnya dipercayai bahawa LEFT OUTER JOIN adalah lebih cekap disebabkan kecenderungan ANSI SQL Server, adalah penting untuk memahami ciri prestasi khusus setiap operator.
LEFT OUTER JOIN mengambil semua rekod daripada jadual A, sama ada ia mempunyai entri yang sepadan dalam jadual B atau tidak. Ia kemudian menapis rekod tidak sepadan berdasarkan kriteria penyertaan. Proses menyeluruh ini boleh menggunakan sumber yang besar apabila berurusan dengan jadual besar atau berbilang syarat cantum.
TIDAK WUJUD, sebaliknya, beroperasi pada mekanisme "litar pintas". Sebaik sahaja rekod yang sepadan ditemui, ia serta-merta meninggalkan rekod semasa yang sedang diperiksa. Pendekatan ini lebih cekap apabila:
Secara umumnya, TIDAK WUJUD atau EXISTS diutamakan untuk kecekapannya jika subkueri dijangka mengembalikan sejumlah besar rekod padanan. Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa:
Atas ialah kandungan terperinci LEFT OUTER JOIN lwn. NOT WUJUD: Klausa SQL Mana yang Menawarkan Prestasi Lebih Baik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!