การ JOIN ตารางด้วย MySQL

บทความนี้ผมจะพูดถึงความเร็วในการทำงานของการ JOIN ตารางในรูปแบบต่างๆของ MySQL ซึ่งจะมีประโยชน์ ในการเลือกลักษณะคำสั่งที่เหมาะสมในการใช้งานเพื่อที่จะได้ผลลัพท์ที่ทำงานเร็วที่สุด

การทดสอบก็ไม่มีอะไรมากครับ ผมทดสอบการทำงานบน phpMyAdmin แล้วดูผลลัพท์ความเร็วในการ query จาก phpMyAdmin เลยหากจะนำไปประยุกต์เพื่อการทดสอบอื่นๆก็ลองดูได้ครับ

การทดสอบ ผมเลือกการทดสอบคำสั่งในกลุ่ม JOIN เพื่อเลือกข้อมูลทั้งหมดมาแสดง โดยเป็น query ที่ให้ผลลัพท์เหมือนกัน 3 แบบโดยไม่เรียงลำดับครับ

SELECT I.*,T.*
FROM eduparty_index AS I INNER JOIN eduparty_template AS T
ORDER BY I.username

3,060 ทั้งหมด, คำค้นใช้เวลา 0.1406 วินาที

SELECT I.*,T.*
FROM eduparty_index AS I CROSS JOIN eduparty_template AS T
ORDER BY I.username

3,060 ทั้งหมด, คำค้นใช้เวลา 0.1145 วินาที

SELECT I.*,T.*
FROM eduparty_index AS I,eduparty_template AS T
ORDER BY I.username

3,060 ทั้งหมด, คำค้นใช้เวลา 0.1043 วินาที

เวลาทั้งหมดที่ได้เป็นเวลาเฉลี่ยของแต่ละคำสั่ง จำนวน 10 ครั้ง ครับ โดยทั้งหมดให้ผลลัพท์เหมือนๆกัน ลองเลือกใช้ดู และอย่าพลาดความสำคัญเล็กๆน้อยๆในเรื่องพวกนี้ ซึ่งจะมีผลมากขึ้น หากระบบของคุณใหญ่ขึ้รนะครับ
ผู้เขียน goragod โพสต์เมื่อ 28 ก.พ. 2552 เปิดดู 15,725 ป้ายกำกับ SQL
^