我不明白过滤索引的概念。
我看到一个这样的例子:
CREATE INDEX idx_customer_inactive
ON customer(active)
WHERE active = 0;
但也许我有一个产品表,我过滤的定价。
一个用户可能会输入一个而不是两个,所以我必须这样说:
CREATE INDEX idx_customer_inactive
ON customer(active)
WHERE price = Whatever
这可能吗?
我不明白过滤索引的概念。
我看到一个这样的例子:
CREATE INDEX idx_customer_inactive
ON customer(active)
WHERE active = 0;
但也许我有一个产品表,我过滤的定价。
一个用户可能会输入一个而不是两个,所以我必须这样说:
CREATE INDEX idx_customer_inactive
ON customer(active)
WHERE price = Whatever
这可能吗?
1条答案
按热度按时间tgabmvqs1#
这将在customer表的active列上创建一个名为
idx_customer_inactive
的索引。WHERE子句指定索引应仅包括活动列值为0的行。以下查询可以从该索引中受益:此查询将筛选customer表,使其仅包括活动列的值为0的行。因为idx_customer_inactive索引只包括这些行,所以数据库可以使用该索引快速查找相关行,并更快地返回查询结果。
关于这一点: