检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
SQL调优 SQL查询执行流程 SQL执行计划 执行计划算子 SQL调优流程 更新统计信息 审视和修改表定义 SQL调优进阶 优化器参数调整 使用Plan Hint进行调优 例行维护表 例行重建索引 SQL语句出错自动重试 query_band负载识别 父主题: GaussDB(DWS)性能调优
"operator %u does not exist" SQLSTATE: XX000 错误原因:出现非法表达式。 解决办法:检查查询中的表达式是否合法,若不合法,需要修改查询。 GAUSS-02696: "binary I/O not supported during bootstrap" SQLSTATE:
(统计信息,建议不要清理,会影响业务查询性能) pg_attribute pgxc_class pg_type pg_depend pg_class pg_index pg_proc pg_partition pg_object pg_shdepend 以下系统表主要影响资源的监控和表大小的查询接口,不影响其他业务。
"cache lookup failed for partitioned index %u" SQLSTATE: XX000 错误原因:系统表缓存查找分区索引信息失败。 解决办法:检查分区索引是否存在。 GAUSS-01955: "Memory alloc failed for indexInfo"
ca_state char(2) , ca_zip char(10) , ca_country
SQL调优案例 案例:选择合适的分布列 案例:建立合适的索引 案例:增加JOIN列非空条件 案例:使排序下推 案例:设置cost_param对查询性能优化 案例:调整局部聚簇键 案例:调整中间表存储方式 案例:改建分区表 案例:调整GUC参数best_agg_plan 案例:改写SQL排除剪枝干扰
语句修改基础表上的行。如果UPDATE语句更改行后不再满足WHERE条件,更新后通过视图将无法查询到。类似地如果INSERT命令插入了不满足WHERE条件的数据,插入后通过视图将无法查询到。在视图上执行插入、更新或删除的用户必须在视图和表上具有相应的插入、更新或删除权限。 相关链接
when_expression ) WHEN子句指定一个生效表达式。仅当此表达式为真时,脱敏策略才可能生效。 查询语句涉及脱敏表对象时,仅当脱敏策略的WHEN子句表达式为真时,查询对脱敏列数据才可能不可见,即脱敏策略生效。通常,采用WHEN子句来限定脱敏策略的生效用户范围,具有较严格的约束规格。
Join方式的Hint 行数的Hint Stream方式的Hint Scan方式的Hint 子链接块名的hint 运行倾斜的hint 指定子查询不提升的hint 字典编码的hint 配置参数的hint Hint的错误、冲突及告警 Plan Hint实际调优案例 父主题: SQL调优
columns" SQLSTATE: 22023 错误原因:系统错误:text search重写查询必须返回两个tsquery列。 解决办法:检查函数ts_rewrite调用时输入的查询语句,保证语句只能返回两列。 父主题: GAUSS-03301 -- GAUSS-03400
在增删了大量记录之后,对受影响的表执行VACUUM ANALYZE命令是一个很好的习惯。这样将更新系统目录为最近的更改,并且允许查询优化器在规划用户查询时有更好的选择。 不建议日常使用FULL选项,但是可以在特殊情况下使用。例如在用户删除了一个表的大部分行之后,希望从物理上缩小该表以减少磁盘空间占用。VACUUM
解决办法:请联系技术支持工程师提供技术支持。 GAUSS-03332: "invalid query" SQLSTATE: 22000 错误原因:非法的查询操作。 解决办法:修正查询语句。 GAUSS-03333: "xpath expression result type %d is unsupported"
SQL调优案例 案例:选择合适的分布列 案例:建立合适的索引 案例:增加JOIN列非空条件 案例:使排序下推 案例:设置cost_param对查询性能优化 案例:调整局部聚簇键 案例:调整中间表存储方式 案例:改建分区表 案例:调整GUC参数best_agg_plan 案例:改写SQL排除剪枝干扰
语句修改基础表上的行。如果UPDATE语句更改行后不再满足WHERE条件,更新后通过视图将无法查询到。类似地如果INSERT命令插入了不满足WHERE条件的数据,插入后通过视图将无法查询到。在视图上执行插入、更新或删除的用户必须在视图和表上具有相应的插入、更新或删除权限。 相关链接
when_expression ) WHEN子句指定一个生效表达式。仅当此表达式为真时,脱敏策略才可能生效。 查询语句涉及脱敏表对象时,仅当脱敏策略的WHEN子句表达式为真时,查询对脱敏列数据才可能不可见,即脱敏策略生效。通常,采用WHEN子句来限定脱敏策略的生效用户范围,具有较严格的约束规格。
backend_start timestamp with time zone 后端线程启动的时间。 query text 后端线程正在执行的查询语句。 父主题: 系统视图
GTM-Lite模式:GTM只负责XID的分配和CSN的更新,不再负责全局事务管理。GTM-Lite模式适用于高并发,短查询的TP场景,可以在保证事务一致性的情况下提升查询性能。 GTM-Free模式:分布式事务只支持写外部一致性,不具有读外部一致性。实时数仓场景下设置该模式不生效。 参数类型:POSTMASTER
supported by optimizer in CStore" SQLSTATE: XX000 错误原因:列存查询在CN上执行。 解决办法:检查执行计划是否在CN上查询了列存表。 GAUSS-03768: "number of local indexes found: %d for
parameter default value" SQLSTATE: 0A000 错误原因:不能在参数的默认值中使用子查询。 解决办法:修改函数参数,不使用子查询作为默认值。 GAUSS-00946: "cannot use aggregate function in parameter
WHEN condition" SQLSTATE: 0A000 错误原因:trigger WHEN子句中使用了子查询。 解决办法:trigger WHEN子句中不能使用子查询。 GAUSS-01388: "cannot use aggregate function in trigger