检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
存储层数据倾斜 GaussDB(DWS)数据库中,数据分布存储在各个DN上,通过分布式执行提高查询的效率。但是,如果数据分布存在倾斜,则会导致分布式执行某些DN成为瓶颈,影响查询性能。这种情况通常是由于分布列选择不合理,可以通过调整分布列的方式解决。 例如下例: 1 2
SQL调优 SQL查询执行流程 SQL执行计划 执行计划算子 SQL调优流程 更新统计信息 审视和修改表定义 SQL调优进阶 优化器参数调整 使用Plan Hint进行调优 例行维护表 例行重建索引 SQL语句出错自动重试 query_band负载识别 父主题: GaussDB(DWS)性能调优
SQL调优案例 案例:选择合适的分布列 案例:建立合适的索引 案例:增加JOIN列非空条件 案例:使排序下推 案例:设置cost_param对查询性能优化 案例:调整局部聚簇键 案例:调整中间表存储方式 案例:改建分区表 案例:调整GUC参数best_agg_plan 案例:改写SQL排除剪枝干扰
"operator %u does not exist" SQLSTATE: XX000 错误原因:出现非法表达式。 解决办法:检查查询中的表达式是否合法,若不合法,需要修改查询。 GAUSS-02696: "binary I/O not supported during bootstrap" SQLSTATE:
when_expression ) WHEN子句指定一个生效表达式。仅当此表达式为真时,脱敏策略才可能生效。 查询语句涉及脱敏表对象时,仅当脱敏策略的WHEN子句表达式为真时,查询对脱敏列数据才可能不可见,即脱敏策略生效。通常,采用WHEN子句来限定脱敏策略的生效用户范围,具有较严格的约束规格。
语句修改基础表上的行。如果UPDATE语句更改行后不再满足WHERE条件,更新后通过视图将无法查询到。类似地如果INSERT命令插入了不满足WHERE条件的数据,插入后通过视图将无法查询到。在视图上执行插入、更新或删除的用户必须在视图和表上具有相应的插入、更新或删除权限。 相关链接
支持的DDL语句有CREATE、CREATE INDEX、DROP、VACUUM FULL、ANALYZE及COPY。 执行预查询,并将用户预查询的数据缓存到本地磁盘,提升实际查询时的查询速度。(该语法仅9.1.0.200及以上集群版本支持) 1 EXPLAIN WARMUP statement;
'12-10-2010'); --查看数据。 SELECT * FROM date_type_tab; coll --------------------- 2010-12-10 00:00:00 (1 row) --查看日期格式。 SHOW datestyle;
创建和管理GaussDB(DWS)索引 创建和使用GaussDB(DWS)序列 创建和管理GaussDB(DWS)视图 创建和管理GaussDB(DWS)定时任务 查看GaussDB(DWS)系统表
Join方式的Hint 行数的Hint Stream方式的Hint Scan方式的Hint 子链接块名的hint 运行倾斜的hint 指定子查询不提升的hint 字典编码的hint 配置参数的hint Hint的错误、冲突及告警 Plan Hint实际调优案例 父主题: SQL调优
参数类型:USERSET 取值范围:布尔型 off表示会释放获得连接。 on表示不会释放获得连接。 打开此开关后,会存在会话持有连接但并未运行查询的情况,导致其他查询申请不到连接报错。出现此问题时,需约束会话数量小于等于max_active_statements。 默认值:off cache_connection
GaussDB(DWS)数据库GUC参数 查看GUC参数 设置GUC参数 GUC使用说明 连接和认证 资源消耗 并行导入 预写式日志 双机复制 查询规划 错误报告和日志 运行时统计 资源管理 自动清理 客户端连接缺省设置 锁管理 版本和平台兼容性 容错性 连接池参数 集群事务 开发人员选项
index '%s'" SQLSTATE: XX000 错误原因:索引不可用导致初始化index-only scan失败。 解决办法:检查系统表查看索引是否可用。 GAUSS-02287: "cannot initialize index-only scans using unusable
columns" SQLSTATE: 22023 错误原因:系统错误:text search重写查询必须返回两个tsquery列。 解决办法:检查函数ts_rewrite调用时输入的查询语句,保证语句只能返回两列。 父主题: GAUSS-03301 -- GAUSS-03400
用户ID,用于标识触发插入该条数据的用户。受非空约束限制。 statement_id varchar2(30) 用户输入的查询标签。 plan_id bigint 查询标识。 id int 计划中的节点编号。 operation varchar2(30) 操作描述。 options varchar2(255)
解决办法:请联系技术支持工程师提供技术支持。 GAUSS-03332: "invalid query" SQLSTATE: 22000 错误原因:非法的查询操作。 解决办法:修正查询语句。 GAUSS-03333: "xpath expression result type %d is unsupported"
用户ID,用于标识触发插入该条数据的用户。受非空约束限制。 statement_id varchar2(30) 用户输入的查询标签。 plan_id bigint 查询标识。 id int 计划中的节点编号。 operation varchar2(30) 操作描述。 options varchar2(255)
在增删了大量记录之后,对受影响的表执行VACUUM ANALYZE命令是一个很好的习惯。这样将更新系统目录为最近的更改,并且允许查询优化器在规划用户查询时有更好的选择。 不建议日常使用FULL选项,但是可以在特殊情况下使用。例如在用户删除了一个表的大部分行之后,希望从物理上缩小该表以减少磁盘空间占用。VACUUM
when_expression ) WHEN子句指定一个生效表达式。仅当此表达式为真时,脱敏策略才可能生效。 查询语句涉及脱敏表对象时,仅当脱敏策略的WHEN子句表达式为真时,查询对脱敏列数据才可能不可见,即脱敏策略生效。通常,采用WHEN子句来限定脱敏策略的生效用户范围,具有较严格的约束规格。
GTM-Lite模式:GTM只负责XID的分配和CSN的更新,不再负责全局事务管理。GTM-Lite模式适用于高并发,短查询的TP场景,可以在保证事务一致性的情况下提升查询性能。 GTM-Free模式:分布式事务只支持写外部一致性,不具有读外部一致性。实时数仓场景下设置该模式不生效。 参数类型:POSTMASTER