【问题标题】:Benefits of SPATIAL over using standard bounding box querySPATIAL 相对于使用标准边界框查询的优势
【发布时间】:2011-07-24 02:37:09
【问题描述】:

SPATIAL 优于 BOUNDING

使用 SPATIAL 查询而不是使用边界框的简单 MySQL 查询有什么好处?

例如,如果我想查找位于某个多边形内的所有位置:

类似这样的:

边界框示例

SELECT * FROM geoplaces 
WHERE geolat BETWEEN ? AND ?
AND geolng BETWEEN ? AND ?

据我了解,唯一真正的好处是空间也会影响地球的曲率?

哪种方法也最快?

【问题讨论】:

    标签: mysql spatial bounds bounding-box


    【解决方案1】:

    优点:

    1. 您可以使用点以外的形状 和矩形,以及其他操作 比“在”。
    2. 如果可以使用 SPATIAL 指标,性能是订单 幅度更好(取决于 课程的大小和性质 您的数据)。

    缺点:

    1. 空间对象是二进制 blob - 处理它们时需要小心(例如,您通常不能复制粘贴值)。
    2. mySQL 中的空间索引仅适用于 MyISAM 表。
    3. mySQL 中的支持有些原始;很多操作还没有实现

    如果您的数据库很大,并且您需要像示例中那样快速搜索,那么您绝对应该使用空间索引。

    【讨论】:

    • 我想我读到 5.0.3+ mysql 也为 Innodb 表引入了 Spatial。感谢您的回复。
    • 据我所知,在使用它们时,它们都是简单的旧毕达哥拉斯平面几何,而不是真正的球面几何。尽管需要一些计算/编程经验,但绝对可以在没有数学技能的情况下使用。
    猜你喜欢
    • 2011-08-14
    • 1970-01-01
    • 1970-01-01
    • 2015-04-08
    • 1970-01-01
    • 1970-01-01
    • 2017-10-07
    • 2010-10-27
    • 2017-03-19
    相关资源
    最近更新 更多