การ JOIN ตารางด้วย MySQL
บทความนี้ผมจะพูดถึงความเร็วในการทำงานของการ JOIN ตารางในรูปแบบต่างๆของ MySQL ซึ่งจะมีประโยชน์ ในการเลือกลักษณะคำสั่งที่เหมาะสมในการใช้งานเพื่อที่จะได้ผลลัพท์ที่ทำงานเร็วที่สุด
การทดสอบก็ไม่มีอะไรมากครับ ผมทดสอบการทำงานบน phpMyAdmin แล้วดูผลลัพท์ความเร็วในการ query จาก phpMyAdmin เลยหากจะนำไปประยุกต์เพื่อการทดสอบอื่นๆก็ลองดูได้ครับ
การทดสอบ ผมเลือกการทดสอบคำสั่งในกลุ่ม JOIN เพื่อเลือกข้อมูลทั้งหมดมาแสดง โดยเป็น query ที่ให้ผลลัพท์เหมือนกัน 3 แบบโดยไม่เรียงลำดับครับ
3,060 ทั้งหมด, คำค้นใช้เวลา 0.1406 วินาที
3,060 ทั้งหมด, คำค้นใช้เวลา 0.1145 วินาที
3,060 ทั้งหมด, คำค้นใช้เวลา 0.1043 วินาที
เวลาทั้งหมดที่ได้เป็นเวลาเฉลี่ยของแต่ละคำสั่ง จำนวน 10 ครั้ง ครับ โดยทั้งหมดให้ผลลัพท์เหมือนๆกัน ลองเลือกใช้ดู และอย่าพลาดความสำคัญเล็กๆน้อยๆในเรื่องพวกนี้ ซึ่งจะมีผลมากขึ้น หากระบบของคุณใหญ่ขึ้รนะครับ
การทดสอบก็ไม่มีอะไรมากครับ ผมทดสอบการทำงานบน 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 ครั้ง ครับ โดยทั้งหมดให้ผลลัพท์เหมือนๆกัน ลองเลือกใช้ดู และอย่าพลาดความสำคัญเล็กๆน้อยๆในเรื่องพวกนี้ ซึ่งจะมีผลมากขึ้น หากระบบของคุณใหญ่ขึ้รนะครับ