Apabila ia datang untuk mengesahkan bahawa baris tertentu wujud dalam jadual MySQL, terdapat beberapa pendekatan yang mungkin. Artikel ini mengkaji ciri prestasi dua pola pertanyaan biasa dan memperkenalkan alternatif: EXISTS.
<code class="language-sql">SELECT COUNT(*) AS total FROM table1 WHERE ...</code>
Jika jumlah yang dikembalikan bukan sifar, ini bermakna terdapat baris yang sepadan.
<code class="language-sql">SELECT * FROM table1 WHERE ... LIMIT 1</code>
Set hasil bukan kosong menunjukkan bahawa baris wujud.
Kedua-dua kaedah COUNT dan LIMIT memerlukan mendapatkan semula data hasil daripada pangkalan data. Walau bagaimanapun, anda juga boleh menggunakan subkueri EXISTS untuk menyemak kewujudan tanpa mengekstrak sebarang data:
<code class="language-sql">SELECT EXISTS(SELECT * FROM table1 WHERE ...)</code>
Menurut dokumentasi MySQL, senarai EXISTS dalam subquery SELECT tidak penting. Oleh itu, anda boleh menggunakan sebarang ungkapan sewenang-wenangnya:
<code class="language-sql">SELECT EXISTS(SELECT 'dummy' FROM table1 WHERE ...)</code>
Pendekatan terbaik bergantung pada keperluan khusus aplikasi anda.
Akhirnya, strategi terbaik harus ditentukan melalui ujian dan analisis untuk menentukan perkara yang paling sesuai untuk beban kerja khusus anda.
Atas ialah kandungan terperinci Pertanyaan MySQL manakah yang Terbaik untuk Menyemak Kewujudan Baris Jadual: COUNT, LIMIT atau EXISTS?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!