ฉันไม่รู้ว่าเหตุใดการค้นหาในตาราง "เมือง" ของฉันจึงช้ามาก
ข้อความค้นหาของฉันกำลังมองหาตาราง "เมือง" ซึ่งอยู่ห่างจากตัวเมืองประมาณ 25 กม.
ฉันใช้แบบสอบถามง่ายๆ นี้ และฐานข้อมูลใช้เวลาเกือบ 20 วินาทีในการส่งคืนผลลัพธ์
เลือกเมืองปลายทางระยะทางจากเมือง WHERE city_start='เวียน' และระยะทาง <= 25 ลำดับตามระยะทาง ASC
เอ็นจิ้นตารางคือ InnoDB ตารางมีประมาณ 7 ล้านแถว:
+----------------------+------------+------+----+- --------+++++
| ฟิลด์ | พิมพ์ | โมฆะ | คีย์ | เริ่มต้น | พิเศษ |
+----------------------+------------+------+----+- --------+++++
| รหัส | int(11) | ไม่ | ปรีดี | โมฆะ | auto_increment |
| id_of_start | int(11) | ไม่ | | โมฆะ | |
| id_of_destination | int(11) | ไม่ | | โมฆะ | |
| city_start | ข้อความ | ไม่ | | โมฆะ | |
| เมือง_ปลายทาง | ข้อความ | ไม่ | | โมฆะ | |
| ระยะทาง | สองเท่า | ไม่ | | โมฆะ | |
+----------------------+------------+------+----+- --------+++++
ใครช่วยแนะนำวิธีเพิ่มประสิทธิภาพฐานข้อมูลหรือแบบสอบถามให้ฉันได้บ้าง