我有房地产申请,“房子”包含以下信息:
house: - house_id - address - city - state - zip - price - sqft - bedrooms - bathrooms - geo_latitude - geo_longitude
我需要对地理坐标框内的所有家庭执行极其快速(低延迟)的检索.
类似下面的SQL(如果我使用数据库):
SELECT * from houses WHERE latitude IS BETWEEN xxx AND yyy AND longitude IS BETWEEN www AND zzz
问题:对于我来说,存储此信息的最快方式是什么,以便我可以基于纬度和数据执行最快速的数据检索.经度? (例如数据库,NoSQL,内存缓存等)?
解决方法
这是地理信息系统(GIS)应用程序的典型查询.其中许多是通过使用四叉树或类似的空间索引来解决的.提到的平铺是如何最终实现的.
如果包含坐标的索引可以适合内存并且DBMS具有适当的优化器,则表扫描可以提供与任何感兴趣点的笛卡尔距离,并且具有相当低的开销.如果这太慢,则可以在进行全距离计算之前通过分别比较每个坐标轴来预过滤查询.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。