云数据库 GaussDB-CREATE INDEX:优化建议

时间:2023-11-01 16:22:10

优化建议

  • create index

    建议仅在匹配如下条件之一时创建索引:

    • 经常执行查询的字段。
    • 在连接条件上创建索引,对于存在多字段连接的查询,建议在这些字段上建立组合索引。例如,select * from t1 join t2 on t1.a=t2.a and t1.b=t2.b,可以在t1表上的a,b字段上建立组合索引。
    • where子句的过滤条件字段上(尤其是范围条件)。
    • 在经常出现在order by、group by和distinct后的字段。
    约束限制:
    • 普通表的索引支持最大列数为32列;分区表的GLOBAL索引支持最大列数为31列。
    • 单个索引大小不能超过索引页面大小(8k),其中B-tree、UBtree及Gin索引不能超过页面大小的三分之一。
    • 分区表上不支持创建部分索引。
    • 分区表创建GLOBAL索引时,存在以下约束条件:
      • 不支持表达式索引、部分索引
      • 不支持列存表
      • 仅支持B-tree索引
    • 在相同属性列上,分区LOCAL索引与GLOBAL索引不能共存。
    • 如果alter语句不带有UPDATE GLOBAL INDEX,那么原有的GLOBAL索引将失效,查询时将使用其他索引进行查询;如果alter语句带有UPDATE GLOBAL INDEX,原有的GLOBAL索引仍然有效,并且索引功能正确。
support.huaweicloud.com/centralized-devg-v2-opengauss/devg_03_0554.html