如果我创建一个Postgres索引ASC和DESC之间有什么区别?

时间:2011-05-25 21:16:49

标签: postgresql

这是否意味着ASC对于诸如

之类的查询更好

价格> 40

对于诸如

之类的查询,

和DESC更好

价格< 40?

3 个答案:

答案 0 :(得分:8)

where条件可能不受影响,但ORDER BY肯定会受到影响

PostgreSQL Index Ordering Documentation

答案 1 :(得分:6)

PostgreSQL(或任何其他数据库引擎,就此而言)将以任何方式读取您的索引。您将获得索引扫描或反向索引扫描。

问题在于您进行了多列扫描。在这种情况下:

index on (foo, bar)

适用于foo asc, bar asc以及foo desc, bar desc。在某些数据库上,这不适用于foo desc, bar asc(反向扫描foo,忽略条形图)或foo asc, bar desc(扫描foo,忽略条形图)。

答案 2 :(得分:0)

如果列包含由“最近”值引用的顺序数据 - 日期列,ID列等,则降序可以提升你。

一般来说,表格/索引必须非常大,才能有所作为。

它不会影响返回的内容,只会如何影响。