我有一个包含大量地址的大型数据库,例如这样(这里是json):
{"id":"1","desc":"Frankie Johnnie & Luigo Too","address":"939 W El Camino Real, Mountain View, CA","lat":"37.386337","lng":"-122.085823"}
我使用简单的MySql获取此数据 - 声明:
'Select * from datatable'
通过这个答案,我创建了json语句。 问题是每个数据都离开了表,当数据库变大时,我认为请求需要一些时间。 我不知道如何更好地选择数据。 我需要从数据库中获取所有数据来创建地图。
是否有更好的解决方案来创建不那么多的流量? 或者这个请求不是那么密集,不会创造如此多的流量?
谢谢!
答案 0 :(得分:2)
如果你创建一个地图,你应该只获得要绘制到地图上的数据,尝试类似:
SELECT * FROM datatable
WHERE lat > 20
AND lat < 40
AND lng > -140
AND lng < -100;
当然这仅是一个示例,您应该根据您在地图上显示的区域计算纬度和经度限制。确保考虑到包装,如果你在地球上显示足够大的区域而不是正方形可能不是最佳匹配,如果你周围有多种方法可以获得任何你想要的地理数据限制。
如果这还不够,你还可以根据其他原则缩小范围,这是对描述或地址的部分匹配。
SELECT * FROM datatable
WHERE lat > 20
AND lat < 40
AND lng > -140
AND lng < -100
AND desc LIKE '%Frankie%';