检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
TABLE AS语句创建中间临时表的方式增加SQL语句的可读性。 尽量避免使用笛卡尔积和FULL JOIN。这些操作会造成结果集的急剧膨胀,同时其执行性能也会降低。 NULL值的比较只能使用IS NULL或者IS NOT NULL的方式判断,其他任何形式的逻辑判断都返回NULL。例如:
对于检索条件中分区键上带有常数的分区表查询语句,在优化器阶段将对indexscan、bitmap indexscan、indexonlyscan等算子中包含的检索条件作为剪枝条件,完成分区的筛选。算子包含的检索条件中需要至少包含一个分区键字段,对于含有多个分区键的分区表,包含任意分区键子集即可。
为每个表打印一份详细的清理工作报告。 ANALYZE | ANALYSE 更新用于优化器的统计信息,以决定执行查询的最有效方法。 table_name 要清理的表的名称(可以有模式修饰)。 取值范围:要清理的表的名称。缺省时为当前数据库中的所有表。 column_name 要分析的具体的字段名称,需要配合analyze选项使用。
AS语句创建中间临时表的方式增加SQL语句的可读性。 【建议】尽量避免使用笛卡尔积和FULL JOIN。这些操作会造成结果集的急剧膨胀,同时其执行性能也很低。 【说明】NULL值的比较只能使用IS NULL或者IS NOT NULL的方式判断,其他任何形式的逻辑判断都返回NULL
AS语句创建中间临时表的方式增加SQL语句的可读性。 【建议】尽量避免使用笛卡尔积和FULL JOIN。这些操作会造成结果集的急剧膨胀,同时其执行性能也很低。 【说明】NULL值的比较只能使用IS NULL或者IS NOT NULL的方式判断,其他任何形式的逻辑判断都返回NULL
table_name。 Oracle数据库名为*_TRIGGERS的视图统计了trigger的相关信息,GaussDB相关视图与Oracle存在差异,GaussDB视图具体请参见《开发指南》中“系统表和系统视图 > 系统视图 > 其他视图”中的DB_TRIGGERS、ADM_TRIGGERS、M
REL:只生成基于基表的gather路径,然后再在CN上执行剩余计划。 JOIN:尽可能生成基于join的gather路径,在能下推的join子计划上面(join下面不包含重分布节点)添加gather路径,剩余计划在CN上执行。对于需要重分布节点的join计划则无法生成基于join的gathe
数据库对象的注释。共享对象(比如数据库、角色、表空间)的注释是全局存储的,连接到任何数据库的任何用户都可以看到它们。因此,不要在注释里存放与安全有关的敏感信息。 对大多数对象,只有对象的所有者或者被授予了对象COMMENT权限的用户可以设置注释,系统管理员默认拥有该权限。 角色没有所有者,所以COMMENT
UPDATE,用户必须要有该表的INSERT、UPDATE权限,UPDATE子句中列的SELECT权限。 如果使用QUERY子句插入来自查询里的数据行,用户还需要拥有在查询里使用的表的SELECT权限。 如果使用QUERY子句插入来自查询动态数据脱敏列的数据,插入的结果即为脱敏后的值,无法被还原。
存储各种范围的数字,也就是整数。试图存储超出范围以外的数值将会导致错误。 常用的类型是INTEGER,因为它提供了在范围、存储空间、性能之间的最佳平衡。一般只有取值范围确定不超过SMALLINT的情况下,才会使用SMALLINT类型。而只有在INTEGER的范围不够的时候才使用BIGINT,因为前者相对快得多。
象之间的关系。所涉及的SQL语句,请参考表6。 表6 表定义相关SQL 功能 相关SQL 创建表 CREATE TABLE 修改表属性 ALTER TABLE 删除表 DROP TABLE 定义分区表 分区表是一种逻辑表,数据是由普通表存储的,主要用于提升查询性能。所涉及的SQL语句,请参考表7。
数据库对象的注释。共享对象(比如数据库、角色、表空间)的注释是全局存储的,连接到任何数据库的任何用户都可以看到它们。因此,不要在注释里存放与安全有关的敏感信息。 对大多数对象,只有对象的所有者或者被授予了对象COMMENT权限的用户可以设置注释,系统管理员默认拥有该权限。 角色没有所有者,所以COMMENT
存储各种范围的数字,也就是整数。如果存储超出范围以外的数值将会导致错误。 常用的类型是INTEGER,因为它提供了在范围、存储空间、性能之间的最佳平衡。一般只有取值范围确定不超过SMALLINT的情况下,才会使用SMALLINT类型。而只有在INTEGER的范围不够的时候才使用B
一个查询语句要经过多个算子步骤才会输出最终的结果。由于个别算子耗时过长导致整体查询性能下降的情况比较常见。这些算子是整个查询的瓶颈算子。通用的优化手段是EXPLAIN ANALYZE/PERFORMANCE命令查看执行过程的瓶颈算子,然后进行针对性优化。 如下面的执行过程信息中,Hashagg算子的执行时间占总时间的:(51016-13535)/
Scan是一种用于访问外部数据源的扫描器。它可以将外部数据源中的数据作为关系型数据库中的表来处理,从而实现对外部数据源的查询和操作。在GaussDB中,Foreign Scan可以通过扩展API来实现。用户可以编写自己的扩展程序,以实现对外部数据源的访问和操作。同时,GaussDB还提供了一些常用的扩展程序,如FDW(Foreign
locktag text 当前线程正等待获取的锁的信息。 lockmode text 当前线程正等待获取的锁的模式。包含表级锁、行级锁、页级锁下的各模式。 block_sessionid bigint 阻塞当前线程获取锁的会话标识。 global_sessionid text 全局会话id。
一个查询语句要经过多个算子步骤才会输出最终的结果。由于个别算子耗时过长导致整体查询性能下降的情况比较常见。这些算子是整个查询的瓶颈算子。通用的优化手段是EXPLAIN ANALYZE/PERFORMANCE命令查看执行过程的瓶颈算子,然后进行针对性优化。 如下面的执行过程信息中,Hashagg算子的执行时间占总时间的:(51016-13535)/
对于检索条件中分区键上带有常数的分区表查询语句,在优化器阶段将对indexscan、bitmap indexscan、indexonlyscan等算子中包含的检索条件作为剪枝条件,完成分区的筛选。算子包含的检索条件中需要至少包含一个分区键字段,对于含有多个分区键的分区表,包含任意分区键子集即可。
为每个表打印一份详细的清理工作报告。 ANALYZE | ANALYSE 更新用于优化器的统计信息,以决定执行查询的最有效方法。 table_name 要清理的表的名称(可以有模式修饰)。 取值范围:要清理的表的名称。缺省时为当前数据库中的所有表。 column_name 要分析的具体的字段名称,需要配合analyze选项使用。
THAN语法格式的RANGE分布策略,分布键最多支持4列。分布规则如下: 1. 从插入值的第一列开始比较。 2. 如果插入值的第一列小于待插入的分片的当前列的边界值,则直接插入。 3. 如果插入值的第一列等于待插入的分片的当前列的边界值,则比较插入值的下一列与待插入的分片的下一列的边界值,