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

ฉันจะปรับปรุงคิวรีแบบใช้เลือกข้อมูลเพื่อให้เร็วขึ้นใน MySQL ได้อย่างไร


สำหรับการสืบค้นที่รวดเร็วขึ้น ให้ใช้ MySQL IN() เนื่องจากใช้การจัดทำดัชนีภายใน ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable1618 -> ( -> ClientId int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, -> ClientName varchar(20), -> ClientEmailId varchar(30) -> ); แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (1.53 วินาที) 

แทรกบางระเบียนในตารางโดยใช้คำสั่ง insert:

mysql> แทรกลงในค่า DemoTable1618(ClientName,ClientEmailId) ('Chris Brown','[email protected]'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.15 วินาที)mysql> แทรกลงในค่า DemoTable1618 (ClientName,ClientEmailId) ('David Miller','[email protected]');แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.16 วินาที) mysql> แทรกลงในค่า DemoTable1618 (ClientName,ClientEmailId) ('John Doe','[email protected]');แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.28 วินาที) mysql> แทรกลงในค่า DemoTable1618 (ClientName,ClientEmailId) ('John Smith','[email protected]'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.16 วินาที) mysql> แทรก ลงใน DemoTable1618(ClientName,ClientEmailId) values('Adam Smith','[email protected]');แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.17 วินาที)

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

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

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อน>+----------+--------------+-------------------- -----+| รหัสลูกค้า | ชื่อลูกค้า | ClientEmailId |+----------+--------------+--------------------- ----+| 1 | คริส บราวน์ | [email protected] || 2 | เดวิด มิลเลอร์ | [email protected] || 3 | จอห์น โด | [email protected] || 4 | จอห์น สมิธ | [email protected] || 5 | อดัม สมิธ | [email protected] |+----------+---------------------------+----------------- --------+5 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามที่จะใช้ IN() สำหรับการสืบค้นที่เร็วขึ้น -

mysql> เลือก * จาก DemoTable1618 โดยที่ ClientEmailId IN('[email protected]','[email protected]','[email protected]');

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อน>+----------+--------------+-------------------- -----+| รหัสลูกค้า | ชื่อลูกค้า | ClientEmailId |+----------+--------------+--------------------- ----+| 2 | เดวิด มิลเลอร์ | [email protected] || 3 | จอห์น โด | [email protected] || 4 | จอห์น สมิธ | [email protected] |+----------+------------------------------- --------+3 แถวในชุด (0.00 วินาที)