检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
为百分比采样。 自动收集统计信息 当配置参数autoanalyze打开时,查询语句走到优化器发现表不存在统计信息或数据变化超过阈值时,会自动触发统计信息收集,以满足优化器的需求。 基于代价的优化器模型(CBO, cost base optimizer)中,统计信息决定了查询计划生
使用LIKE时如果条件是以通配符 % 开头,也无法使用索引。 当查询条件有多个索引可供使用,但用户知道用哪一个索引是最优的时,推荐使用优化器Hint来强制优化器使用这个索引,这样可以避免优化器因为统计信息不准或其他问题时,选错索引。 查询条件使用IN表达式时,后面匹配的条件数量不宜过多,否则执行效率会较差。
*表的总行,所以又称之为百分比采样。 自动收集统计信息 当配置参数autoanalyze打开时,查询语句走到优化器发现表不存在统计信息,会自动触发统计信息收集,以满足优化器的需求。 注:只有对统计信息敏感的复杂查询动作(多表关联等操作)的SQL语句执行时才会触发自动收集统计信息;简单查询(比如单点,单表聚合等)
文本搜索类型 GaussDB(DWS)提供了tsvector和tsquery两种数据类型用于支持全文检索。tsvector类型表示为文本搜索优化的文件格式,tsquery类型表示文本查询。 tsvector tsvector类型表示一个检索单元,通常是一个数据库表中的一行文本字段或者这些字段的组合。
性能总览 在9.1.0版本,我们实现了很多性能优化特性,提升整体开箱的SQL查询性能。以TPC-H、TPC-DS 1TB作为性能测试对比的基准,重点对比最新9.1.0版本与8.3.0版本的性能提升。集群规模为6节点,其中各节点的规格为16U 64G,累计96U 384G。从以下测试结果可以看到:
文本搜索类型 GaussDB(DWS)提供了tsvector和tsquery两种数据类型用于支持全文检索。tsvector类型表示为文本搜索优化的文件格式,tsquery类型表示文本查询。 tsvector tsvector类型表示一个检索单元,通常是一个数据库表中的一行文本字段或者这些字段的组合。
的特定数据行,保证读写数据的安全。 行级访问控制设置 行级访问控制的目的是控制表中行级数据可见性,通过在数据表上预定义Filter,在查询优化阶段将满足条件的表达式应用到执行计划上,影响最终的执行结果。当前受影响的SQL语句包括SELECT,UPDATE,DELETE。 用户可以使用CREATE
在查询时,可通过分区剪枝技术尽可能减少底层数据扫描,即缩小表的扫描范围。分区剪枝是指对于分区表或分区索引来说,优化器可以自动从FROM和WHERE子句里根据分区键提取出需要扫描的分区,从而避免全表扫描,减少扫描的数据块,提高性能。 优化前 创建一个非分区表orders_no_part,表定义如下: 执行以下SQL语句查询非分区表的执行计划:
在查询时,可通过分区剪枝技术尽可能减少底层数据扫描,即缩小表的扫描范围。分区剪枝是指对于分区表或分区索引来说,优化器可以自动从FROM和WHERE子句里根据分区键提取出需要扫描的分区,从而避免全表扫描,减少扫描的数据块,提高性能。 优化前 创建一个非分区表orders_no_part,表定义如下: 执行以下SQL语句查询非分区表的执行计划:
负载管理 GS_261110006 错误码: The \priority\ of query_band action is invalid. 解决方案:优先级的有效值是Rush。 level: ERROR GS_261110007 错误码: The action %s of query_band
限制项 说明 绑定负载均衡 绑定ELB时,需创建和GaussDB(DWS)集群相同的区域、VPC以及企业项目的ELB进行绑定。 GaussDB(DWS)的ELB功能仅支持独享型ELB规格,不支持共享型ELB绑定操作。 解绑ELB时,GaussDB(DWS)侧会清除ELB中集群相关信息
GaussDB(DWS)开发设计规范全集列表 编号 类别 规则/建议 1 连接管理规范 - 规则1.1 GaussDB(DWS)集群必须配置负载均衡 2 规则1.2 连接数据库完成所需操作后,必须关闭数据库连接(连接池场景除外) 3 规则1.3 开启的事务最后必须提交或回滚 4 规则1
图形化查看执行计划和开销 Visual Explain计划从扩展JSON格式中获取信息,以图形化方式显示SQL查询。该功能有助于优化查询以增强查询和服务器性能及分析数据库所用的查询路径,并找出最拥挤,开销最高和运行最慢的节点。 图形化执行计划展示了SQL语句所引用的表是如何被扫描的(普通顺序扫描和索引扫描)。
性能调优概述 数据库性能调优是指通过优化数据库系统的配置及SQL查询,以提高数据库性能和效率的过程。目的为消除性能瓶颈、减少响应时间、提高系统吞吐量和资源利用率,降低业务成本,从而提高系统稳定性,给用户带来更大的价值。 本章通过性能诊断、系统调优及SQL调优及常见SQL调优案例等
性能调优概述 数据库性能调优是指通过优化数据库系统的配置及SQL查询,以提高数据库性能和效率的过程。目的为消除性能瓶颈、减少响应时间、提高系统吞吐量和资源利用率,降低业务成本,从而提高系统稳定性,给用户带来更大的价值。 本章通过性能诊断、系统调优及SQL调优及常见SQL调优案例等
查询规划 优化器方法配置 优化器开销常量 基因查询优化器 其他优化器选项 父主题: GaussDB(DWS)数据库GUC参数
查询规划 优化器方法配置 优化器开销常量 基因查询优化器 其他优化器选项 父主题: GaussDB(DWS)数据库GUC参数
GaussDB(DWS)开发设计规范全集列表 编号 类别 规则/建议 1 连接管理规范 - 规则1.1 GaussDB(DWS)集群必须配置负载均衡 2 规则1.2 连接数据库完成所需操作后,必须关闭数据库连接(连接池场景除外) 3 规则1.3 开启的事务最后必须提交或回滚 4 规则1
除此之外,无法使用LLVM动态编译优化,具体可通过explain performance语句进行查看。 非适用场景: 不支持CN上LLVM动态编译优化。 不支持小数据量表使用LLVM动态编译优化。 不支持生成非向量化执行路径的查询作业。 其他因素对LLVM性能的影响 LLVM优化效果不仅依赖于数据
除此之外,无法使用LLVM动态编译优化,具体可通过explain performance语句进行查看。 非适用场景: 不支持CN上LLVM动态编译优化。 不支持小数据量表使用LLVM动态编译优化。 不支持生成非向量化执行路径的查询作业。 其他因素对LLVM性能的影响 LLVM优化效果不仅依赖于数据