检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
SQL调优进阶 SQL自诊断 语句下推调优 子查询调优 统计信息调优 算子级调优 数据倾斜调优 SQL语句改写规则 优化器参数调整 父主题: SQL调优
场景中,如果通过业务逻辑已确认两个集合不存在重叠,可用union all替代union以便提升性能。 优化后的SQL查询由两个等值join的子查询构成,而每个子查询都可以走更适合此场景的hashjoin。优化后的执行计划如下 优化后,从超过1个小时未返回结果优化到7s返回结果。 父主题:
表达式 简单表达式 条件表达式 子查询表达式 数组表达式 行表达式
建议对脏页率超过80%的非系统表执行VACUUM FULL,用户也可根据业务场景自行选择是否执行VACUUM FULL。 8.2.0.100及以上集群版本,查询脏页率推荐使用PGXC_STAT_TABLE_DIRTY。 表1 PGXC_GET_STAT_ALL_TABLES字段 名称 类型 描述 relid
GaussDB(DWS) SQL概述 什么是SQL SQL是用于访问和处理数据库的标准计算机语言。 SQL提供了各种任务的语句,包括: 查询数据。 在表中插入、更新和删除行。 创建、替换、更改和删除对象。 控制对数据库及其对象的访问。 保证数据库的一致性和完整性。 SQL语言由用
CURSOR 功能描述 CURSOR命令定义一个游标,用于在一个大的查询里面检索少数几行数据。 为了处理SQL语句,存储过程进程分配一段内存区域来保存上下文联系。游标是指向上下文区域的句柄或指针。借助游标,存储过程可以控制上下文区域的变化。 注意事项 游标命令只能在事务块里使用。
CURSOR 功能描述 CURSOR命令定义一个游标,用于在一个大的查询里面检索少数几行数据。 为了处理SQL语句,存储过程进程分配一段内存区域来保存上下文联系。游标是指向上下文区域的句柄或指针。借助游标,存储过程可以控制上下文区域的变化。 注意事项 游标命令只能在事务块里使用。
GAUSS-03685: "failed to re-find parent for block %u" SQLSTATE: XX000 错误原因:查找父节点页失败。 解决办法:内部错误,属于预防性报错机制。请联系技术支持工程师提供技术支持。 GAUSS-03686: "could not
两种资源配置,如下图所示: 弹性变更规格整个流程需要停止集群,所以需要用户合理安排变更时间窗口,防止集群停止影响业务。 在实际变更过程中,所有节点的变更并行执行,所以不会由于节点过多而造成变更时间变长,整个变更时间在5~10分钟左右,请耐心等待。 图1 弹性变更原理图 弹性变更规格仅8
TPC-H测试过程 TPC-H测试数据 TPC-H数据生成 建表与导入TPC-H数据 TPC-H查询测试 父主题: TPC-H性能测试
测试方法 总体流程 创建弹性云服务器ECS和数据仓库GaussDB(DWS) 构建TPC-H&TPC-DS使用数据 建表与数据导入 执行查询与结果收集
从OBS导入ORC、CARBONDATA数据 OBS上的数据准备 创建外部服务器 创建外表 通过外表查询OBS上的数据 清除资源 支持的数据类型 父主题: 从OBS并行导入数据
timestamp with time zone 申请锁的事务的开始时间。 queryid bigint 申请锁的线程的最新查询ID。 query text 申请锁的线程的最新查询语句。 pid bigint 申请锁的线程的ID。 mode text 锁的级别。 granted boolean
参数类型:USERSET 取值范围:布尔型 off表示会释放获得连接。 on表示不会释放获得连接。 打开此开关后,会存在会话持有连接但并未运行查询的情况,导致其他查询申请不到连接报错。出现此问题时,需约束会话数量小于等于max_active_statements。 默认值:off cache_connection
函数和操作符 分析函数 数学函数 字符串函数 日期和时间函数 比较和列表操作符 表操作符 查询优化操作符 QUALIFY ALIAS FORMAT和CAST 缩写关键字迁移 以$开头的对象名称迁移 父主题: Teradata语法迁移
脏页率。因此当表的脏页率高时,则认为表内部被标记为已删除的数据占比高。 处理方案 针对表的脏页率过高的问题,GaussDB(DWS)提供了查询脏页率的系统视图,具体使用请参见PGXC_STAT_TABLE_DIRTY。 为了解决脏页率高导致磁盘空间膨胀的问题,GaussDB(DW
"cache lookup failed for partitioned index %u" SQLSTATE: XX000 错误原因:系统表缓存查找分区索引信息失败。 解决办法:检查分区索引是否存在。 GAUSS-01955: "Memory alloc failed for indexInfo"
SQL调优案例 案例:选择合适的分布列 案例:建立合适的索引 案例:增加JOIN列非空条件 案例:使排序下推 案例:设置cost_param对查询性能优化 案例:调整局部聚簇键 案例:调整中间表存储方式 案例:改建分区表 案例:调整GUC参数best_agg_plan 案例:改写SQL排除剪枝干扰
timestamp with time zone 申请锁的事务的开始时间。 queryid bigint 申请锁的线程的最新查询ID。 query text 申请锁的线程的最新查询语句。 pid bigint 申请锁的线程的ID。 mode text 锁的级别。 granted boolean
GaussDB(DWS)支持将OBS上TXT、CSV、ORC、CARBONDATA以及JSON格式的数据导入到集群进行查询,也支持远程读OBS上的数据。因此对于经常查询的热数据建议直接导入GaussDB(DWS)后再做查询。偶尔查询的冷数据可以存储在OBS上直接远程读以节省成本。 目前,导入数据有两种方式: 方式一