2011-10-05 72 views
2

比方說,我有一個正方形網格,每個正方形都有它們的座標(x和y)。它們都有一個存儲在數據庫中的屬性。在數據庫中查找座標的最快方法

難道是更快的存儲和查詢像這樣的屬性:

SELECT * FROM asd WHERE x=1 AND y=-5 

SELECT * FROM asd WHERE id='1_-5' 

所以基本上用下劃線加盟座標使它成爲一個字符串。它是更快還是更慢? 如果有問題,請使用PostgreSQL。

回答

6

絕對是您的第一個方法。

搜索整數始終比搜索字符串要快。除了在一列中存儲多個值是不好的做法。

此外,請注意,如果這些列對於搜索至關重要,那麼您可以(不需要)將它們定義爲indexes

+3

考慮特定情況下(x,y)上的多列索引。 –

相關問題