Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 存储谷歌地图路径(格度和经度数组)的最佳方式是什么_Sql_Json - Fatal编程技术网

Sql 存储谷歌地图路径(格度和经度数组)的最佳方式是什么

Sql 存储谷歌地图路径(格度和经度数组)的最佳方式是什么,sql,json,Sql,Json,我正在制作一个网站,用户可以在谷歌地图上创建路线,我一直在寻找从谷歌地图存储路径(根坐标)的最佳方法。我已经找到了一些不同的选择,我不确定哪一个是最好的 我应该吗 将它们存储在JSON文件中,然后将JSON文件的路径存储在sql列中?唯一的问题是我无法根据json文件中的坐标进行查询 或 将每个纬度和经度点存储在单独的行中?我看到的唯一问题是谷歌地图上的一条路径可能有超过1000个不同的点,这将占用数据库中的大量空间 还有其他想法吗?将点分开存储在这样的表格中 coordinates table

我正在制作一个网站,用户可以在谷歌地图上创建路线,我一直在寻找从谷歌地图存储路径(根坐标)的最佳方法。我已经找到了一些不同的选择,我不确定哪一个是最好的

我应该吗

将它们存储在JSON文件中,然后将JSON文件的路径存储在sql列中?唯一的问题是我无法根据json文件中的坐标进行查询

将每个纬度和经度点存储在单独的行中?我看到的唯一问题是谷歌地图上的一条路径可能有超过1000个不同的点,这将占用数据库中的大量空间


还有其他想法吗?

将点分开存储在这样的表格中

coordinates table
-----------------
track_id
lng
lat
sequence_number --> you should also store a sequence to know the order in which you want to connect the coordinates
和另一个包含曲目信息的表

tracks table
------------
id
name
other_stuff
如果您想获得名为“我的自行车之旅”的赛道的所有点,请运行

select c.lng, c.lat, c.sequence
from coordinates c
join tracks t on t.id = c.track_id
where t.name = 'My Bicycle Tour'
order by c.sequence

请记住,一个数据库可以很容易地保存数百万甚至数十亿条记录,而且有了适当的索引,查询速度也非常快。

这是我唯一担心的问题,在什么情况下数据库会“满”而数据库不会满。只有当你没有更多的高清空间的时候。我的意思是有没有一点querys会开始明显变慢,我应该开始在一个新的数据库中存储数据?没有。在需要索引的地方添加索引,可以在毫秒内查询数百万条记录。在某些时候,您可以考虑分区。但也许你永远也不会达到这一点。谢谢你的帮助!我会尽快接受答案。