ฉันพยายามหาว่าตัวเพิ่มประสิทธิภาพ MySQL ได้รับรายการดัชนีที่มีอยู่ในตารางหรือไม่เมื่อประเมินค่าแบบสอบถาม (เตรียม) แบบสอบถาม
ANALYZE TABLEกำหนดดัชนีความเป็นหัวใจ (ตามที่ปรากฏในคอลัมน์ Cardinality ของSHOW INDEXผลลัพธ์) โดยทำการดำน้ำแบบสุ่มแปดครั้ง ของต้นไม้ดัชนีและอัปเดตการประเมินความสำคัญเชิงดัชนีตามลำดับ เนื่องจากสิ่งเหล่านี้เป็นเพียงการประมาณการการเรียกใช้ ANALYZE TABLE ซ้ำ ๆ อาจทำให้ตัวเลขต่างกัน สิ่งนี้ทำให้ANALYZE TABLEรวดเร็วบนตาราง InnoDB แต่ไม่ถูกต้อง 100% เนื่องจากไม่คำนึงถึงแถวทั้งหมด