我正在为位置数据创建一个SQLite数据库。大约有1000万行,我希望尽快获得SELECT语句。
我只需要发布一次数据库,我不关心创建阶段需要多长时间。
用户只能一次查看地图的一部分,因此需要同时访问地理位置相近的数据。
我已将数据拆分为多个图块。每个图块对应于纬度和范围的区域。经度based on open street map tiles
我的问题是,对于最快的查询时间,我应该:
我可以尝试各种方式,但我真的很想了解解决方案。
答案 0 :(得分:3)
如果您有多个数据库或多个表,则在执行实际搜索查询之前,您的代码必须找出要搜索的数据库。 此外,如果搜索窗口与两个图块重叠,则必须进行两次搜索并合并结果。 此外,拆分无法帮助您在一个图块中进行搜索。
要进行地理搜索,您应该使用像R-tree这样的二维索引。 当您这样做时,搜索会自动限制在数据的相应部分,因此使用一个表最简单,最快。