เพิ่มประสิทธิภาพการสืบค้นของคุณสำหรับ Query Cache
เซิร์ฟเวอร์ MySQL ส่วนใหญ่จะเปิดใช้งานการแคชแบบสอบถาม เป็นหนึ่งในกลยุทธ์ที่ดีที่สุดในการเพิ่มประสิทธิภาพ ซึ่งกลไกจัดการฐานข้อมูลดูแลอย่างสงบเสงี่ยม เมื่อใดก็ตามที่เรียกใช้การสืบค้นข้อมูลเดียวกันหลายครั้ง ผลลัพธ์จะมาจากแคช จึงเร็วกว่ามาก
อธิบายแบบสอบถามที่เลือกของคุณ
หากต้องการทราบข้อมูลเชิงลึกเกี่ยวกับสิ่งที่ MySQL ดำเนินการเพื่อเรียกใช้แบบสอบถามของคุณ ให้ใช้คีย์เวิร์ด EXPLAIN ซึ่งช่วยในการระบุปัญหาคอขวดและปัญหาอื่นๆ ที่อาจรบกวนการสืบค้นของคุณหรือวัตถุฐานข้อมูลอื่นๆ
LIMIT 1 เมื่อได้แถวที่ไม่ซ้ำ
เมื่อทำการสอบถามตารางของคุณเพียงแถวเดียว หรือการมีอยู่ของระเบียนที่ตรงกับส่วนคำสั่ง WHERE ที่กำหนด ขอแนะนำให้เพิ่ม LIMIT 1 ลงในแบบสอบถาม SELECT ของคุณเพื่อเพิ่มประสิทธิภาพ ซึ่งหมายความว่ากลไกจัดการฐานข้อมูลจะส่งคืนผลลัพธ์หลังจากพบเพียงระเบียนเดียวแทนที่จะสแกนผ่านวัตถุฐานข้อมูลที่กำหนดทั้งหมด
จัดทำดัชนีช่องค้นหา
หากมีคอลัมน์ในตารางของคุณที่คุณจะใช้สำหรับ ค้นหาโดย ข้อความค้นหา ขอแนะนำให้คุณสร้างดัชนีไว้เสมอ
จัดทำดัชนีและใช้ชื่อคอลัมน์เดียวกันสำหรับการรวม
แนวทางปฏิบัติที่ดีที่สุดคือจัดทำดัชนีคอลัมน์ที่ใช้ในการเข้าร่วมเสมอ สิ่งนี้ช่วยปรับปรุงวิธีที่ MySQL เพิ่มประสิทธิภาพการดำเนินการ JOIN ได้อย่างมาก นอกจากนี้ ตรวจสอบให้แน่ใจว่าคอลัมน์ที่เข้าร่วมเป็นประเภทข้อมูลเดียวกัน หากเป็นคนละประเภทกัน MySQL อาจไม่สามารถใช้ดัชนีตัวใดตัวหนึ่งได้
หลีกเลี่ยงการเลือกทั้งหมด (SELECT *)
จำนวนข้อมูลที่คุณอ่านจากตารางมีผลอย่างมากต่อความเร็วของคิวรี มีผลกับเวลาที่ใช้ในการทำงานของดิสก์ หากมีการเข้าถึงเซิร์ฟเวอร์ฐานข้อมูลผ่านเครือข่าย จะส่งผลต่อเวลาที่ต้องใช้ในการถ่ายโอนข้อมูลผ่านเครือข่าย เป็นหนึ่งในแนวทางปฏิบัติที่ดีที่สุดของ MySQL เสมอในการระบุคอลัมน์ที่คุณต้องการเมื่อคุณทำ SELECT
เลือกเครื่องมือจัดเก็บข้อมูลที่เหมาะสม
MySQL มีเอ็นจิ้นการจัดเก็บข้อมูลหลักสองอัน MyISAM และ InnoDB สิ่งเหล่านี้มีข้อดีและข้อเสีย
MyISAM แนะนำสำหรับแอปที่เน้นการอ่าน แม้ว่าจะทำงานได้ไม่ดีในกรณีที่มีการเขียนจำนวนมาก ออบเจ็กต์ฐานข้อมูลจะถูกล็อกเมื่อดำเนินการกับออบเจ็กต์นั้นไม่ว่าจะง่ายเพียงใด MyISAM จะมีประโยชน์เมื่อทำการสืบค้น SELECT COUNT(*) จำนวนมาก
InnoDB มีแนวโน้มที่จะเป็นเครื่องมือจัดเก็บข้อมูลที่ซับซ้อนมากขึ้น อย่างไรก็ตาม อาจล้าหลังกว่า MyISAM เล็กน้อยสำหรับแอปพลิเคชันขนาดเล็กจำนวนมาก แต่รองรับการล็อกแบบแถวซึ่งปรับขนาดได้ดีกว่า นอกจากนี้ยังสามารถจัดการกับคุณสมบัติขั้นสูงบางอย่างเช่นธุรกรรม
แหล่งที่มา
https://www.fullstackpython.com/blog/install-mysql-ubuntu-1604.html
https://code.tutsplus.com/tutorials/top-20-mysql-best-practices–net-7855