Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

แบบสอบถามใดมีประสิทธิภาพในการตรวจสอบว่าตาราง MySQL ว่างเปล่าหรือไม่ COUNT(*) เทียบกับ LIMIT?


หากคุณใช้ COUNT(*) รอบ LEAST() ดังนั้น MySQL จะสแกนดัชนีอย่างน้อยหนึ่งรายการ ดังนั้น ให้หลีกเลี่ยง LEAST(COUNT(*)) และใช้ LIMIT

ให้เราสร้างตารางก่อน แบบสอบถามเพื่อสร้างตารางมีดังนี้ −

mysql> สร้างตาราง ReturnDemo-> (-> Id int,-> Name varchar(10)-> );Query OK, 0 แถวได้รับผลกระทบ (0.79 วินาที)

ตัวอย่าง

ตอนนี้คุณสามารถแทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก แบบสอบถามมีดังนี้ −

mysql> แทรกลงในค่า ReturnDemo (100, 'Larry'); Query OK, 1 แถวที่ได้รับผลกระทบ (0.18 วินาที)mysql> แทรกลงในค่า ReturnDemo (101,'Bob'); Query OK, 1 แถวได้รับผลกระทบ (0.28 วินาที )mysql> แทรกลงในค่า ReturnDemo (102, 'Sam'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.17 วินาที)

แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select แบบสอบถามมีดังนี้ −

mysql> เลือก *จาก ReturnDemo;

ผลลัพธ์

<ก่อนหน้า>+------+-------+| รหัส | ชื่อ |+------+-------+| 100 | แลร์รี่ || 101 | บ๊อบ || 102 | แซม |+------+-------+3 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อตรวจสอบว่าตารางว่างหรือไม่ -

mysql> เลือก 1 เป็นเอาต์พุตจาก ReturnDemo LIMIT 1;

ต่อไปนี้เป็นผลลัพธ์ที่แสดง 1 นั่นคือตารางไม่ว่างเปล่า -

<ก่อนหน้า>+---------+| เอาท์พุต |+---------+| 1 |+--------+1 แถวในชุด (0.00 วินาที)