mysql设计经纬度表_MySQL经纬度表设置
生活随笔
收集整理的這篇文章主要介紹了
mysql设计经纬度表_MySQL经纬度表设置
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
您應該將點存儲在數據類型Point的一個列中,您可以使用空間索引(如果您的表格類型為MyISAM)進行索引,則可以:
CREATE SPATIAL INDEX sx_place_location ON place (location)
SELECT *
FROM mytable
WHERE MBRContains
(
LineString
(
Point($x - $radius, $y - $radius),
Point($x + $radius, $y + $radius)
)
location
)
AND Distance(Point($x, $y), location) <= $radius
這將大大提高查詢的速度,例如“在所有范圍內找到所有內容”.
請注意,最好使用普通TM測量坐標(東,北),而不是極坐標(緯度和緯度).對于小半徑,它們是足夠準確的,并且計算被大大簡化.如果你所有的分數都在一個半點,遠離極點,你可以使用單個中心子午線.
您當然可以使用極坐標,但用于計算MBR和距離的公式將更為復雜.
總結
以上是生活随笔為你收集整理的mysql设计经纬度表_MySQL经纬度表设置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 主键由数据库mysql 映射native
- 下一篇: oracle sga pga mysql