การเพิ่มประสิทธิภาพ COUNT
การสืบค้น MySQL
เป็นงานที่สำคัญในการปรับปรุงประสิทธิภาพของฐานข้อมูล ต่อไปนี้เป็นบางวิธีในการบรรลุเป้าหมายนี้:
ใช้ INDEX
ตรวจสอบให้แน่ใจว่าคุณได้สร้างดัชนีสำหรับฟิลด์ที่ใช้ใน COUNT
แบบสอบถาม ดัชนีช่วยให้ MySQL
ค้นหาและนับข้อมูลได้เร็วขึ้น
ใช้ COUNT(
)
แทน COUNT(column)
เมื่อคุณสนใจเฉพาะจำนวนระเบียนทั้งหมดในตาราง ให้ ใช้ COUNT()
แทน นับแถวทั้งหมดในตารางโดยไม่พิจารณาค่าของคอลัมน์ใดคอลัมน์หนึ่ง ทำให้คิวรีเร็วขึ้น COUNT(column)
COUNT(*)
จำกัด ชุดผลลัพธ์
หากคุณต้องการนับเรกคอร์ดภายในช่วงที่กำหนดเท่านั้น ให้พิจารณาใช้ WHERE
ส่วนคำสั่งเพื่อจำกัดชุดผลลัพธ์ของ COUNT
คิวรี ซึ่งช่วยให้คิวรีดำเนินการเร็วขึ้นเนื่องจากไม่ต้องนับทั้งตาราง
ใช้ subquery
หรือ subtable
ในบางกรณี การใช้แบบสอบถามย่อยหรือการสร้างตารางย่อยเพื่อทำการคำนวณล่วงหน้าสามารถช่วยลดภาระของ COUNT
แบบสอบถาม หลัก
ใช้หน่วยความจำ cache
กำหนดค่า MySQL ให้ใช้หน่วยความจำ cache
ซึ่งสามารถปรับปรุงประสิทธิภาพของ COUNT
การสืบค้น โดยเฉพาะอย่างยิ่งเมื่อมีการเรียกใช้งานบ่อยครั้ง
พิจารณาใช้ APPROXIMATE COUNT
ใน MySQL 8.0 และเวอร์ชันที่ใหม่กว่า คุณสามารถใช้ APPROXIMATE COUNT
คุณลักษณะนี้เพื่อทำการนับโดยประมาณได้เร็วขึ้นสำหรับตารางขนาดใหญ่
ตรวจสอบแผนการดำเนินการ
ใช้ EXPLAIN
เพื่อตรวจสอบแผนการดำเนินการของ COUNT
แบบสอบถาม และดูว่ามีการใช้ดัชนีอย่างถูกต้องหรือไม่ และแบบสอบถามได้รับการปรับให้เหมาะสมหรือไม่
โปรดทราบว่าประสิทธิภาพของเทคนิคการเพิ่มประสิทธิภาพเหล่านี้อาจแตกต่างกันไปขึ้นอยู่กับโครงสร้างและขนาดของฐานข้อมูลของคุณ ทดสอบและประเมินผลกระทบของการเพิ่มประสิทธิภาพแต่ละครั้งก่อนที่จะนำไปใช้ในสภาพแวดล้อมการผลิต