2011-10-05 75 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)上的多列索引。 –

相关问题