检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
对表建立索引可提高数据库查询性能,但有时会出现建立了索引,但查询计划中却发现索引没有被使用的情况。针对这种情况,本文将列举几种常见的场景和优化方法。 场景一:返回结果集很大 以行存表的Seq Scan和Index Scan为例: Seq Scan:按照表的记录的排列顺序从头到尾依次检索扫描,每次扫描要取到所有
物理集群转换到逻辑集群 查询集群列表 查询逻辑集群列表 查询逻辑集群任务信息 查询逻辑集群磁盘信息 查询节点列表 查询逻辑集群可用ring环节点信息 查询集群拓扑ring环节点信息 查询集群详情 查询节点类型 删除集群 删除逻辑集群 编辑逻辑集群 重启逻辑集群 切换逻辑集群开关 删除空闲节点 从空闲节点扩容
预算基本信息 图5 设置成本范围 图6 设置提醒 详细介绍请参见使用预测和预算来跟踪成本和使用量。 资源优化 成本中心可以通过监控云服务器的历史消费情况和CPU使用率,为客户提供云服务器资源的空闲识别和优化建议,寻找节约成本的机会。您还可以根据成本分析阶段的分析结果识别成本偏高的
、Update等)会在其关联的逻辑集群上进行计算执行。当提交查询或修改的用户与需要查询和修改的基表在不同的逻辑集群上时,数据需要在表所在的逻辑集群和用户关联的逻辑集群间进行查询和修改,此时优化器会生成一个跨逻辑集群的查询或修改计划,保证用户关联的逻辑集群可以查询或修改表的数据。 图1
源使用情况(包括内存、下盘、CPU时间等)和运行状态信息(包括报错、终止、异常等)以及性能告警信息。但对于由于FATAL、PANIC错误导致查询异常结束时,状态信息列只显示aborted,无法记录详细异常信息。特别的,对于查询解析,优化阶段的状态信息则无法监控。 历史视图具体的对外接口如下表所示:
行列存压缩 GaussDB(DWS)中,只支持列存表压缩功能,暂不支持行存表压缩功能。优化行列存压缩机制,DSC工具迁移时会根据GaussDB(DWS)的特性进行相应适配。 压缩参数 : table.compress.mode创建新表时,需要在CREATE TABLE语句中指定关
SQL执行计划中每一个步骤为一个数据库运算符,也叫作一个执行算子。GaussDB(DWS)中算子是基本的数据处理单元,合理地组合算子、优化算子的顺序和执行方式,可以提升数据的处理效率。 GaussDB(DWS)算子可分为:扫描算子、控制算子、物化算子、连接算子、其他算子等。 扫描算子
资源使用情况(包括内存、下盘、CPU时间等)和运行状态信息(包括报错、终止、异常等)以及性能告警信息。但对于由于FATAL、PANIC错误导致查询异常结束时,状态信息列只显示aborted,无法记录详细异常信息。特别是针对查询解析,优化阶段的状态信息则无法监控。 历史视图具体的对外接口如下表所示:
SQL执行计划中每一个步骤为一个数据库运算符,也叫作一个执行算子。GaussDB(DWS)中算子是基本的数据处理单元,合理地组合算子、优化算子的顺序和执行方式,可以提升数据的处理效率。 GaussDB(DWS)算子可分为:扫描算子、控制算子、物化算子、连接算子、其他算子等。 扫描算子
GaussDB(DWS)支持数据库事务ACID属性,提供了事务的读已提交隔离级别和可重复读隔离级别。 客户端显式开启事务或手动关闭Autocommit场景,业务最后必须手动执行Commit提交事务。 针对执行时长超过30分钟的语句,建议进行优化。 尽量避免出现执行时长超过2小时的业务,避免长事务、长持锁等影响。
GaussDB(DWS)支持数据库事务ACID属性,提供了事务的读已提交隔离级别和可重复读隔离级别。 客户端显式开启事务或手动关闭Autocommit场景,业务最后必须手动执行Commit提交事务。 针对执行时长超过30分钟的语句,建议进行优化。 尽量避免出现执行时长超过2小时的业务,避免长事务、长持锁等影响。
后可能会导致数据量过大,请谨慎操作。 进入优化诊断页面 登录GaussDB(DWS) 管理控制台。 在左导航栏单击“监控 > 优化诊断”,进入优化诊断页面。 在页面左上角下拉框选择需要优化诊断的集群,可查看集群历史查询分析、实时查询分析和实时会话分析。 打开页面右上角“隐藏系统查询”按钮可隐藏系统用户查询。
高CPU系统性能调优方案 如果当前集群CPU负载较高,可参考如下步骤进行优化: 检查当前集群业务是否占用CPU过高。 登录GaussDB(DWS)管理控制台。 在“监控 > 告警”界面,单击右上角“集群选择”下拉框,选中告警集群,查看集群最近7天的告警信息,通过定位信息锁定触发告警的节点名称。
块则称为一个分区。一般对数据和查询都有明显区间段特征的表使用分区策略可通过较小不必要的数据扫描,从而提升查询性能 在查询时,可通过分区剪枝技术尽可能减少底层数据扫描,即缩小表的扫描范围。分区剪枝是指对于分区表或分区索引来说,优化器可以自动从FROM和WHERE子句里根据分区键提取
块则称为一个分区。一般对数据和查询都有明显区间段特征的表使用分区策略可通过较小不必要的数据扫描,从而提升查询性能 在查询时,可通过分区剪枝技术尽可能减少底层数据扫描,即缩小表的扫描范围。分区剪枝是指对于分区表或分区索引来说,优化器可以自动从FROM和WHERE子句里根据分区键提取
也不支持存储过程和函数参数默认值。 当游标作为存储过程的返回值时,如果使用JDBC调用该存储过程,返回的游标将不可用。 存储过程不能和普通SQL在同一条语句中执行。 执行批处理 用一条预处理语句处理多条相似的数据,数据库只创建一次执行计划,节省了语句的编译和优化时间。可以按如下步骤执行:
也不支持存储过程和函数参数默认值。 当游标作为存储过程的返回值时,如果使用JDBC调用该存储过程,返回的游标将不可用。 存储过程不能和普通SQL在同一条语句中执行。 执行批处理 用一条预处理语句处理多条相似的数据,数据库只创建一次执行计划,节省了语句的编译和优化时间。可以按如下步骤执行:
然后在数据库日志中,分析可能存在问题的活动,从而优化数据库性能。本章节定义了数据仓库服务上报云监控服务的监控指标的命名空间、监控指标列表和维度定义。用户可以通过云监控服务提供的管理控制台或API接口来检索数据仓库服务产生的监控指标和告警信息。 命名空间 SYS.DWS 集群监控指标
文本搜索类型 GaussDB(DWS)提供了tsvector和tsquery两种数据类型用于支持全文检索。tsvector类型表示为文本搜索优化的文件格式,tsquery类型表示文本查询。 tsvector tsvector类型表示一个检索单元,通常是一个数据库表中的一行文本字段或者这些字段的组合。
tetime的筛选和过滤条件,基本可以确认是由于慢SQL的计划没有走分区剪枝,导致了全表扫描,对于185亿条数据量的表,全表扫描性能会很差。 处理方法 在慢SQL的过滤条件中增加分区筛选条件,避免走全表扫描。 优化后的SQL和执行计划如下,性能从十几分钟,优化到了12秒左右,性能有明显提升。