更好的想法如何从数据库中获取大量的MySql数据

时间:2015-09-14 14:00:15

标签: php mysql json load

我有一个包含大量地址的大型数据库,例如这样(这里是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语句。 问题是每个数据都离开了表,当数据库变大时,我认为请求需要一些时间。 我不知道如何更好地选择数据。 我需要从数据库中获取所有数据来创建地图。

是否有更好的解决方案来创建不那么多的流量? 或者这个请求不是那么密集,不会创造如此多的流量?

谢谢!

1 个答案:

答案 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%';