Örneğin, benim bir tablo var diyelim:
Business(BusinessID, Lattitude, Longitude)
Elbette hepsi endekslenir. Ayrıca 1 milyon kayıt var
Diyelim ki 106,5'e en yakın işletmeleri bulmak istiyorum, örneğin bunu nasıl yaparım?
Eğer yaparsam
SELECT *
FROM Business
WHERE (Some formula to compute distance here) < 2000
örneğin, eğer yaparsam
SELECT *
FROM Business
TOP 20
Teorik olarak, bilgisayar pratikte sadece hesaplanması gereken belirli bir aralıktaki enlem ve boylamı olanlar için tüm mesafeyi hesaplamak zorunda kalacaktır.
Peki PhP veya SQL'de istediğimi nasıl yapabilirim?
Şimdiye kadar verilen cevaptan dolayı minnettarım. MySQL kullanıyorum ve belirgin çözüm daha verimli bir şey yok. MySQL uzamsal hesaplama mesafesi fonksiyonuna da sahip değildir.