Yakınımda en yakın 20 iş bulmak istediğimi söyle.
My table structure is like this:
BusinessID varchar(250) utf8_unicode_ci No None Browse distinct values Change Drop Primary Unique Index Fulltext
Prominent double No None Browse distinct values Change Drop Primary Unique Index Fulltext
LatLong point No None Browse distinct values Change Drop Primary Unique Index Fulltext
FullTextSearch varchar(600) utf8_bin No None Browse distinct values Change Drop Primary Unique Index Fulltext
With selected: Check All / Uncheck All With selected:
Print viewPrint view Propose table structurePropose table structureDocumentation
Add new fieldAdd field(s) At End of Table At Beginning of Table After
Indexes: Documentation
Action Keyname Type Unique Packed Field Cardinality Collation Null Comment
Edit Drop PRIMARY BTREE Yes No BusinessID 1611454 A
Edit Drop Prominent BTREE No No Prominent 0 A
Edit Drop LatLong BTREE No No LatLong (25) 0 A
Edit Drop sx_mytable_coords SPATIAL No No LatLong (32) 0 A
Edit Drop FullTextSearch FULLTEXT No No FullTextSearch 0
1.6 milyon bizs var. Tabii ki hepsi için mesafeyi hesaplamak ve sonra sıralamak aptalca.
Coğrafi mekansal indeks burada başlıyor mu?
Peki hangi SQL comman'ı yayınlamam gerekiyor?
Not:
- Ben kullanıyorum MySQL MyISAM mekansal indeksi. Ancak bunu daha önce belirtmedim. Bu yüzden cevap verenleri takdirimi göstermek ve başka bir soru sormak için kabul edeceğim.
- Tüm tablo için mesafeyi hesaplamak istemiyorum
- Hala verimsiz olan herhangi bir bölge için mesafeyi hesaplamak istemiyorum
- Mesafeleri makul sayıda nokta için hesaplamak istiyorum çünkü noktaları mesafeye göre sıralamak ve 1-20, 21-40, 41-60 vb. Noktaları gösterebilmek istiyorum.