Nói rằng tôi muốn tìm 20 doanh nghiệp gần nhất gần tôi.
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
Có 1,6 triệu biz. Tất nhiên thật ngu ngốc khi tính khoảng cách cho tất cả chúng và sau đó sắp xếp nó.
Đó là nơi chỉ số không gian địa lý đá phải không?
Vì vậy, tôi cần phải sử dụng SQL comman nào?
Ghi chú:
- Tôi đang sử dụng chỉ số không gian mysql myisam . Tuy nhiên tôi đã không chỉ định điều này trước đây. Vì vậy, tôi sẽ chấp nhận những người trả lời nó để thể hiện sự đánh giá cao của tôi và hỏi một câu hỏi khác.
- Tôi không muốn tính khoảng cách cho cả bảng
- Tôi không muốn tính khoảng cách cho bất kỳ khu vực nào vẫn không hiệu quả
- Tôi muốn tính khoảng cách cho số điểm hợp lý vì tôi muốn sắp xếp các điểm theo khoảng cách và có thể hiển thị điểm 1-20, 21-40, 41-60, v.v.