云数据库 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数据库表调整案例

选择合适的分布列

将表中列作为分布列

了解详情
建立合适的索引

表中列创建合适索引

了解详情
改建分区表

从业务层确认表数据某字段符合分区表的特征,重新规划表的定义。

了解详情
调整查询重写GUC参数rewrite_rule

GaussDB数据库rewrite_rule参数:magicset、partialpush、uniquecheck、disablerep、intargetlist、predpush规则使用场景介绍。

了解详情
使用DN Gather减少计划中的Stream节点

DN Gather用来把分布式计划中的Stream节点去掉,而是把数据发送到一个节点进行计算,这样可以减少分布式计划执行时数据重分布的代价,从而提升单个查询以及系统整体的吞吐能力。

了解详情
调整I/O相关参数降低日志膨胀率

调整I/O相关参数介绍说明

了解详情

云数据库GaussDB常见问题解答

云数据库GaussDB常见问题解答

  • 云数据库GaussDB冷备份和热备份都支持吗?

    GaussDB数据库实例仅支持热备份。

  • GaussDB数据库如何赋予用户SUPER权限?

    GaussDB数据库不能赋予用户SUPER权限,如果无法导入存储过程,是因为存储过程语句中有部分需要super权限的语句,去掉这些语句后,即可正常导入存储过程。

  • 如何将GaussDB数据库实例资源解冻?

    欠费冻结:用户可通过续费或充值来解冻资源,恢复实例正常使用。欠费冻结的实例允许续费、释放或删除;已经到期的包周期实例不能发起退订,未到期的包周期实例可以退订。

  • 冻结、解冻、释放GaussDB数据库实例资源时对业务的影响?

    1.资源冻结时:

    资源将被限制访问和使用,会导致您的业务中断。例如实例被冻结时,会使得用户无法再连接至数据库。

    包周期资源被冻结后,将被限制进行变更操作。

    资源被冻结后,可以手动进行退订/删除。

    2.资源解冻时:资源将被解除限制,用户可以连接至数据库。

    3.资源释放时:资源将被释放,实例将被删除,删除前将依据用户策略决定是否执行回收站备份。

  • GaussDB数据库实例权限如何设置?

    GaussDB数据库实例部署时通过物理区域划分,为项目级服务。授权时,“作用范围”需要选择“区域级项目”,然后在指定区域(如华北-北京1)对应的项目(cn-north-1)中设置相关权限,并且该权限仅对此项目生效;如果在“所有项目”中设置权限,则该权限在所有区域项目中都生效。访问GaussDB时,需要先切换至授权区域。

  • GaussDB数据库权限策略是什么?

    根据授权精细程度分为角色和策略

    角色:IAM最初提供的一种根据用户的工作职能定义权限的粗粒度授权机制。该机制以服务为粒度,提供有限的服务相关角色用于授权

    IAM最新提供的一种细粒度授权的能力,可以精确到具体服务的操作、资源以及请求条件等。基于策略的授权是一种更加灵活的授权方式,能够满足企业对权限最小化的安全管控要求。

  • GaussDB数据库实例被锁怎么处理?

    因为某些操作可能导致数据库实例被锁,可以通过一些步骤进行解锁,详情请参见数据库实例被锁怎么处理?

专题内容推荐

活动规则

活动对象:华为云电销客户及渠道伙伴客户可参与消费满送活动,其他客户参与前请咨询客户经理

活动时间: 2020年8月12日-2020年9月11日

活动期间,华为云用户通过活动页面购买云服务,或使用上云礼包优惠券在华为云官网新购云服务,累计新购实付付费金额达到一定额度,可兑换相应的实物礼品。活动优惠券可在本活动页面中“上云礼包”等方式获取,在华为云官网直接购买(未使用年中云钜惠活动优惠券)或参与其他活动的订单付费金额不计入统计范围内;