仅用于排序的列的索引方法

时间:2014-05-16 12:37:46

标签: postgresql indexing

我有一个表product_images,其中包含外键product_id和整数字段order,以便手动设置产品图片的顺序。知道该表只会像这样使用:

SELECT * FROM product_images
WHERE product_id = ?
ORDER BY "order"

- product_idorder的最佳索引方法是什么?

这够了吗?:

CREATE INDEX product_images_unique_order
ON "product_images"("product_id", "order");

SQL Fiddle

1 个答案:

答案 0 :(得分:1)

是的,应该这样做。

PostgreSQL可能决定不使用该索引,具体取决于您拥有的行数,任何给定product_id具有的图像数量,以及具有相同product_id的所有行的分散程度以及行的行数product_images表是;还有很多其他的东西。

但是通过使用该索引,您可以为PostgreSQL提供使用它的机会。