我正在設計一個數據庫來存儲地理位置。我想實現與Google地圖類似的功能。使用場景是,我有很多點,和相關的X,Y位置。數據庫很少更新(例如添加新點或修改現有點的X,Y位置),但頻繁查詢。查詢方案是,對於給定的正方形(正方形的4個角點X,Y位置已知),查找正方形中的所有點和相關的X,Y位置。數據庫設計性能問題徵求意見
我想知道如何設計數據庫,以便查詢性能得到優化。我的設計問題與地圖數據庫設計非常相似。我也想知道Google Map或傳統地圖數據庫是否實現了最佳性能?
我是新來的地圖數據庫設計領域,如果有人可以參考一些教程爲新手感謝。
由於事先 喬治
謝謝@ user247245!對於你發佈的查詢,爲什麼它會在(X,Y)上使用索引?我的困惑是我認爲(%x1和%x2之間的geoX)將使用索引X,(%Y1和%y2之間的geoY)將使用索引Y.那麼,我應該在X上創建索引並且在Y上創建索引?如果我錯了,請隨時糾正我。 – George2
有沒有更新? :-) – George2
複合索引(X,Y)將更快地過濾。如果構建爲(x,Y),則DBMS將首先搜索X,然後在舊版電話聖經中搜索Y,就如同姓氏一樣。僅在請求Y範圍時才需要Y索引,因爲那樣X,Y索引將不起作用。想想它,因爲你不能在電話簿中輕鬆找到所有「桑德拉」,你需要另一個「註冊」。尊敬// t – Teson