PG中索引创建支持case when的写法吗??-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

PG中索引创建支持case when的写法吗??

游客886 2019-05-23 10:23:21 920

PG中索引创建支持case when的写法吗??
本问题来自云栖社区【PostgreSQL技术进阶社群】。https://yq.aliyun.com/articles/690084 点击链接欢迎加入社区大社群。

关系型数据库 PostgreSQL 索引
分享到
取消 提交回答
全部回答(1)
  • 游客886
    2019-07-17 23:35:55

    表达式索引
    postgres=# create index idx_test_23 on test using btree ((case when id<1000 then 1 else 2 end));
    CREATE INDEX
    postgres=# explain select * from test where (case when id<1000 then 1 else 2 end) =1;

                                    QUERY PLAN                                     

    Index Scan using idx_test_23 on test (cost=0.56..174048.15 rows=195616 width=45)
    Index Cond: (CASE WHEN (id < 1000) THEN 1 ELSE 2 END = 1)
    (2 rows)

    0 0
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

推荐文章
相似问题
推荐课程