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

MySQL: Void Query ที่ไม่ทำอะไร (LIMIT 0)

คำสั่ง SELECT ที่ไม่คืนข้อมูล (Void Query)

ใช้ LIMIT 0 เพื่อให้ Query รันสำเร็จแต่ไม่คืนแถวใดๆ

ตัวอย่าง

mysql> create table DemoTable(Name varchar(100));
Query OK, 0 rows affected (0.47 sec)
mysql> insert into DemoTable values('Chris');
mysql> insert into DemoTable values('Sam');
mysql> insert into DemoTable values('Robert');
mysql> insert into DemoTable values('Mike');

Void Query

mysql> select * from DemoTable limit 0;
Empty set (0.00 sec)

กรณีการใช้งาน

  • ทดสอบ Syntax/Query Plan: รัน EXPLAIN หรือทดสอบ Query ไม่ต้องข้อมูลจริง
  • Application Framework: บาง ORM ใช้ LIMIT 0 ดึง Metadata (Columns, Types) ของตาราง
  • Benchmark: วัด Overhead ของ Query Parser/Planner โดยไม่รวม I/O
  • Conditional Query: Dynamic SQL ที่อาจไม่ต้องการข้อมูลในบางเงื่อนไข

คำสั่งที่เกี่ยวข้อง

-- ดูโครงสร้างตาราง (ไม่ดูข้อมูล)
DESCRIBE DemoTable;
SHOW COLUMNS FROM DemoTable;

-- ดู Query Plan
EXPLAIN SELECT * FROM DemoTable LIMIT 0;

สรุป

SELECT ... LIMIT 0 เป็น Void Query ที่รันสำเร็จ คืน Empty Set ใช้ได้สำหรับทดสอบ Metadata หรือ Query Plan