0

我一直在尝试在我的表上使用索引时遇到麻烦。

对于表items,我有一个名为market. 如果market= 0,则不出售 - 如果值大于 0(例如 100),则出售,价格为 100 美元。

但是,我有数千万行不出售的物品。一次可能有大约 1000 件左右的商品在出售(有价格)。

我正在尝试快速查询以选择市场大于 0 的所有行;

SELECT market FROM items WHERE market > 0.

但是,这需要相对较长的时间,并且使用 SEQ 扫描而不是我拥有的索引market。任何帮助将不胜感激,或者我的问题的另一种方法。

4

1 回答 1

1

你可以在你的表上写部分索引items

CREATE INDEX idx_items_inactive
ON customer(market)
WHERE market> 0;

如果问题中提到的查询,它将使用索引扫描

于 2020-09-08T11:34:57.510 回答