检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
WHERE 【规则】禁止在WHERE条件中进行相同表字段的比较。 例如如下语句应考虑合理性: SELECT * FROM t1 WHERE col1 = col1; 应考虑修改为: SELECT * FROM t1 WHERE col1 IS NOT NULL; 【规则】禁止WHERE
WHERE 【规则】禁止在WHERE条件中进行相同表字段的比较。 例如如下语句应考虑合理性: SELECT * FROM t1 WHERE col1 = col1; 应考虑修改为: SELECT * FROM t1 WHERE col1 IS NOT NULL; 【规则】禁止WHERE
SQL查询最佳实践 根据数据库的SQL执行机制以及大量的实践总结发现:通过一定的规则调整SQL语句,在保证结果正确的基础上,能够提高SQL执行效率。 使用union all代替union union在合并两个集合时会执行去重操作,而union all则直接将两个结果集合并、不执行去重
WHERE 【规则】禁止在WHERE条件相同表字段的比较。 例如如下语句应考虑合理性: SELECT * FROM t1 WHERE col1 = col1; 应考虑修改为: SELECT * FROM t1 WHERE col1 IS NOT NULL; 【规则】禁止WHERE条件涉及隐式数据类型转换
WHERE 【规则】禁止在WHERE条件相同表字段进行相互比较。 例如如下语句应考虑合理性: SELECT * FROM t1 WHERE col1 = col1; 应考虑修改为: SELECT * FROM t1 WHERE col1 IS NOT NULL; 【规则】禁止WHERE
管理索引 背景信息 索引可以提高数据的访问速度,但同时也增加了插入、更新和删除操作的处理时间。因此,在创建索引前需评估是否创建索引,需决策索引字段的选择。需要分析应用程序的业务处理、数据使用、经常被用作查询的条件或者被要求排序的字段来确定是否建立索引。 索引建立在数据库表中的某些列上
STATEMENT_HISTORY 获得当前节点的执行语句的信息。查询系统表必须具有sysadmin权限。只可在系统库中查询到结果,用户库中无法查询。 对于此系统表查询有如下约束: 必须在postgres库内查询,其它库中不存数据。 此系统表受track_stmt_stat_level
管理索引 背景信息 索引可以提高数据的访问速度,但同时也增加了插入、更新和删除操作的处理时间。因此,在创建索引前需评估是否创建索引,需决策索引字段的选择。需要分析应用程序的业务处理、数据使用、经常被用作查询的条件或者被要求排序的字段来确定是否建立索引。 索引建立在数据库表中的某些列上
统计信息调优 统计信息调优介绍 GaussDB是基于代价估算生成的最优执行计划。优化器需要根据analyze收集的统计信息进行行数估算和代价估算,因此统计信息对优化器行数估算和代价估算起着至关重要的作用。通过analyze收集全局统计信息,主要包括:PG_CLASS系统表中的relpages
案例:调整查询重写GUC参数rewrite_rule rewrite_rule包含了多个查询重写规则:magicset、uniquecheck、intargetlist、predpush等。下面简要说明其中重要的几个规则使用场景。 案例环境准备 为了便于规则的使用场景演示,需准备建表语句如下
案例:调整查询重写GUC参数rewrite_rule rewrite_rule包含了多个查询重写规则:magicset、uniquecheck、intargetlist、predpush等。下面简要说明其中重要的几个规则的使用场景: 案例环境准备 为了便于规则的使用场景演示,需准备建表语句如下
统计信息调优 统计信息调优介绍 GaussDB是基于代价估算生成的最优执行计划。优化器需要根据analyze收集的统计信息进行行数估算和代价估算,因此统计信息对优化器行数估算和代价估算起着至关重要的作用。通过analyze收集全局统计信息,主要包括:pg_class表中的relpages
统计信息调优 统计信息调优介绍 GaussDB是基于代价估算生成的最优执行计划。优化器需要根据analyze收集的统计信息进行行数估算和代价估算,因此统计信息对优化器行数估算和代价估算起着至关重要的作用。通过analyze收集全局统计信息,主要包括:pg_class表中的relpages
使用非初级类型的宿主变量 非初级类型的宿主变量包括数组、typedef、结构体和指针类型的宿主变量。 数组 有两种将数组作为宿主变量的情况。第一种情况是在char[]或者VARCHAR[]中存储一些文本字符串。第二种情况是可在检索多行查询结果时不使用游标。如果不使用数组,则处理多行查询结果时必须使用游标以及
使用非初级类型的宿主变量 非初级类型的宿主变量包括数组、typedef、结构体和指针类型的宿主变量。 数组 有两种将数组作为宿主变量的情况。第一种情况是在char[]或者VARCHAR[]中存储一些文本字符串。第二种情况是可在检索多行查询结果时不使用游标。如果不使用数组,则处理多行查询结果时必须使用游标以及
使用非初级类型的宿主变量 非初级类型的宿主变量包括数组、typedef、结构体和指针类型的宿主变量。 数组 有两种将数组作为宿主变量的情况。第一种情况是在char[]或者VARCHAR[]中存储一些文本字符串。第二种情况是可在检索多行查询结果时不使用游标。如果不使用数组,则处理多行查询结果时必须使用游标以及
使用非初级类型的宿主变量 非初级类型的宿主变量包括数组、typedef、结构体和指针类型的宿主变量。 数组 有两种将数组作为宿主变量的情况。第一种情况是在char[]或者VARCHAR[]中存储一些文本字符串。第二种情况是可在检索多行查询结果时不使用游标。如果不使用数组,则处理多行查询结果时必须使用游标以及
Hint的错误、冲突及告警 Plan Hint的结果会体现在计划的变化上,可以通过explain来查看变化。 Hint中的错误不会影响语句的执行,只是不能生效,该错误会根据语句类型以不同方式提示用户。对于explain语句,hint的错误会以warning形式显示在界面上,对于非explain
Hint的错误、冲突及告警 Plan Hint的结果会体现在计划的变化上,可以通过explain来查看变化。 Hint中的错误不会影响语句的执行,只是不能生效,该错误会根据语句类型以不同方式提示用户。对于explain语句,hint的错误会以warning形式显示在界面上,对于非explain
语句行为 介绍SQL语句执行过程的相关默认参数。 search_path 参数说明:当一个被引用对象没有指定模式时,此参数设置模式搜索顺序。 参数类型:字符串 参数单位:无 取值范围:由一个或多个模式名构成的字符串,不同的模式名用逗号隔开。 设置为'"$user",public'时