云数据库 GaussDB索引设计规范
· 使用数据库索引实践推荐的索引类型。
索引设计建议使用推荐类型,如果需要使用禁用、不推荐、限制使用的索引类型,建议联系GaussDB数据库专家进行评估。
索引类型
|
说明
|
是否推荐
|
---|---|---|
主键/唯一索引 |
单列或多列主键/唯一索引 |
推荐 |
表达式索引 |
索引列为表的一列或多列计算而来的一个函数或者标量表达式 |
限制使用 |
· 对于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效率。
云数据库GaussDB常见问题解答
云数据库GaussDB常见问题解答
专题内容推荐
活动对象:华为云电销客户及渠道伙伴客户可参与消费满送活动,其他客户参与前请咨询客户经理
活动时间: 2020年8月12日-2020年9月11日
活动期间,华为云用户通过活动页面购买云服务,或使用上云礼包优惠券在华为云官网新购云服务,累计新购实付付费金额达到一定额度,可兑换相应的实物礼品。活动优惠券可在本活动页面中“上云礼包”等方式获取,在华为云官网直接购买(未使用年中云钜惠活动优惠券)或参与其他活动的订单付费金额不计入统计范围内;