数据库设计性能问题征求意见

时间:2011-02-07 15:55:10

标签: database performance geo

我正在设计一个存储地理位置的数据库。我想实现与Google Map类似的功能。使用场景是,我有大量的积分,以及相关的X,Y位置。数据库很少更新(例如,添加新点或修改现有点的X,Y位置),但经常查询。查询场景是,对于给定的正方形(正方形的4个角点X,Y位置已知),找到正方形中的所有点和相关的X,Y位置。

我想知道如何设计数据库以便优化查询性能。我的设计问题与地图数据库设计非常相似。我也想知道是否实施了谷歌地图或传统地图数据库以实现最佳性能?

我是地图数据库设计领域的新手,感谢任何人都可以为新手推荐一些教程。

提前谢谢, 乔治

2 个答案:

答案 0 :(得分:1)

您是否与某些现有数据库后端绑定?某些数据库(如MongoDBPostgreSQL)已内置此功能。

答案 1 :(得分:1)

乔治 你会找到你的职位

where (geoX between %x1 and %x2) and (geoY between %Y1 and %y2)

关于索引,因为您可能总是会查询X和Y,因此单个索引将执行:     idx_XY(geoX,geoY)

如果需要只搜索Y,请添加第二个索引

idx_Y (geoY)

(我将X / Y重命名为long / lat,但这或多或少是个人问题,; - )

的问候, /吨