暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

索引设计规范

wanglei 2023-07-29
145

索引设计规范

更新时间:2023-07-25 GMT+08:00
  • 使用数据库索引实践推荐的索引类型。

    索引设计建议使用推荐类型,如果需要使用禁用、不推荐、限制使用的索引类型,建议联系GaussDB数据库专家进行评估。

    表1 数据库索引实践推荐

    索引类型

    说明

    是否推荐

    主键/唯一索引

    单列或多列主键/唯一索引

    推荐

    表达式索引

    索引列为表的一列或多列计算而来的一个函数或者标量表达式

    限制使用

  • 对于HASH分布表,主键和唯一索引必须包含分布键。
  • 合理设计组合索引,避免冗余。

    例如已对(a,b,c)创建索引,则不应再单独对 (a)、(b)、(c)、(a,b)、(b,c)创建索引。

    当查询时如果只带有a字段上的过滤条件,一般也会利用组合索引进行查询。

  • 不建议单表创建多个唯一索引。

    同时维护多个唯一索引的开销远大于维护一个多列唯一索引,如果业务逻辑上多个唯一索引,与一个多列唯一索引等价,应使用多列唯一索引。

  • 组合索引字段个数不超过5个。
  • 禁止组合索引组合字符串的总长度超过200。
  • 索引(包括单列索引和复合索引)字段应为NOT NULL字段。
  • 同字段上创建索引的维护效率不同。数值类型字段优于字符类型及其他数据类型,因此对于考虑创建索引的ID、时间等字段,建议使用数值类型进行存储。
  • 建议在关联列上创建索引。

    GaussDB支持HASH JOIN,但是当内表较小等RESCAN代价较低的情况下,仍然可能选择NESTLOOP JOIN来完成关联。如果通过EXPLAIN可以查看到NESTLOOP JOIN计划,则可以通过在关联列上创建索引,提高NESTLOOP JOIN效率。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论