ตัวอย่างเช่นฉันมีตาราง:
Business(BusinessID, Lattitude, Longitude)
ทั้งหมดได้รับการจัดทำดัชนีแน่นอน นอกจากนี้ยังมี 1 ล้านบันทึก
สมมติว่าฉันต้องการค้นหาธุรกิจที่ใกล้เคียงกับ 106,5 ตัวอย่างเช่นฉันจะทำอย่างไร
ถ้าฉันทำ
SELECT *
FROM Business
WHERE (Some formula to compute distance here) < 2000
ตัวอย่างเช่นหรือถ้าฉันทำ
SELECT *
FROM Business
TOP 20
ในทางทฤษฎีคอมพิวเตอร์จะต้องคำนวณระยะทางสำหรับเจ้าหน้าที่ทุกคนในขณะที่ในทางปฏิบัติเฉพาะผู้ที่มี lattitude และลองจิจูดในช่วงที่ควรจะคำนวณ
ดังนั้นฉันจะทำสิ่งที่ฉันต้องการใน PhP หรือ SQL ได้อย่างไร
ฉันรู้สึกซาบซึ้งกับคำตอบที่ได้รับ ฉันกำลังใช้ mysql และพวกเขาไม่มีอะไรมีประสิทธิภาพมากกว่าโซลูชันที่ชัดเจน MySQL อวกาศไม่มีฟังก์ชันคำนวณระยะทางเช่นกัน