开发者社区> 问答> 正文

如何查询并识别出包含字段较多的复合索引?

如何查询并识别出包含字段较多的复合索引?

展开
收起
花开富贵111 2024-07-24 18:33:06 14 0
1 条回答
写回答
取消 提交回答
  • 可以使用以下SQL查询包含字段大于等于4个列的复合索引

    WITH t AS ( 
    SELECT indrelid, indkey, COUNT(DISTINCT unnest_idx) AS unnest_idx_count 
    FROM pg_catalog.pg_index, unnest(indkey) AS unnest_idx 
    GROUP BY 1, 2 
    HAVING COUNT(DISTINCT unnest_idx) >= 4 
    ORDER BY 3 DESC 
    ) 
    SELECT relname AS tablename, t.unnest_idx_count AS idx_cnt 
    FROM pg_class c, t 
    WHERE c.oid = t.indrelid;
    

    image.png

    2024-07-24 20:05:29
    赞同 3 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载