检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
经验总结:SQL语句改写规则 根据数据库的SQL执行机制以及大量的实践,总结发现:通过一定的规则调整SQL语句,在保证结果正确的基础上,能够提高SQL执行效率。如果遵守这些规则,常常能够大幅度提升业务查询效率。 使用union all代替union union在合并两个集合时会执行去重操作,而union
状态码 状态码如表1所示: 表1 状态码 状态码 编码 错误码说明 100 Continue 继续请求。 这个临时响应用来通知客户端,它的部分请求已经被服务器接收,且仍未被拒绝。 101 Switching Protocols 切换协议。只能切换到更高级的协议。 例如,切换到HTTP的新版本协议。
定义变量 介绍PL/SQL中变量的声明,以及该变量在代码中的作用域。 变量声明 变量声明语法如图1所示。 图1 declare_variable::= 对以上语法格式的解释如下: variable_name,为变量名。 type,为变量类型。 value,是该变量的初始值(如果不
SHOW EVENTS 功能描述 显示指定SCHEMA下所有定时任务的基本信息。 注意事项 定时任务相关操作只有sql_compatibility = 'B'时支持。 语法格式 SHOW EVENTS [{FROM | IN} schema_name] [LIKE
DBE_HEAT_MAP 接口介绍 根据输入的参数,返回目标数据块中行的最后修改时间等信息,用于直观浏览每一行被判定为冷、热行的依据。该接口属于运维类接口,不做可见性判断,即传入的ctid为已删除的行时,该接口依然会返回当前行在页面上最新的状态。 表1 DBE_HEAT_MAP 接口名称
删除分区 用户可以使用删除分区的命令来移除不需要的分区。删除分区可以通过指定分区名或者分区值来进行。 删除分区不能作用于HASH分区上。 执行删除分区命令会使得Global索引失效,可以通过UPDATE GLOBAL INDEX子句来同步更新Global索引,或者用户自行重建Global索引。
怎么配置fillfactor大小 fillfactor是用于描述页面填充率的参数,该参数与页面能存放的元组数量、大小以及表的物理空间直接相关。Ustore表的默认页面填充率为92%,预留的8%空间用于更新的扩展,也可以用于TD列表的扩展空间。fillfactor的配置和详细描述参见《开发指南》的“SQL参考
SQL执行计划概述 SQL执行计划是一个节点树,显示GaussDB执行一条SQL语句时执行的详细步骤。每一个步骤为一个数据库运算符。 使用EXPLAIN命令可以查看优化器为每个查询生成的具体执行计划。EXPLAIN给每个执行节点都输出一行,显示基本的节点类型和优化器为执行这个节点预计的开销值。如下所示。
合并分区 用户可以使用合并分区的命令来将多个分区合并为一个分区。合并分区只能通过指定分区名来进行,不支持指定分区值的写法。 合并分区不能作用于哈希分区上。 执行合并分区命令会使得Global索引失效,可以通过UPDATE GLOBAL INDEX子句来同步更新Global索引,或者用户自行重建Global索引。
选择分布列 Hash分布表的分布列选取至关重要,需要满足以下原则: 列值应比较离散,以便数据能够均匀分布到各个DN。例如,考虑选择表的主键为分布列,如在人员信息表中选择身份证号码为分布列。 在满足上述条件的情况下,考虑选择查询中的连接条件为分布列,以便Join任务能够下推到DN中执行,且减少DN之间的通信数据量。
使用Ustore进行测试 创建Ustore表 使用CREATE TABLE语句创建Ustore表。 gaussdb=# CREATE TABLE ustore_table(a INT PRIMARY KEY, b CHAR (20)) WITH (STORAGE_TYPE=USTORE);
选择分布列 Hash分布表的分布列选取至关重要,需要满足以下原则: 列值应比较离散,以便数据能够均匀分布到各个DN。例如,考虑选择表的主键为分布列,如在人员信息表中选择身份证号码为分布列。 在满足上述条件的情况下,考虑选择查询中的连接条件为分布列,以便Join任务能够下推到DN中执行,且减少DN之间的通信数据量。
用户自定义子类型 PL/SQL中使用SUBTYPE可以创建自己的子类型,其基类型可以是任何基础类型或用户自定义类型。子类型可以提供数据类型的兼容性,显示该类型数据项的预期用途,检测超出范围的值。 SUBTYPE基础定义语法: SUBTYPE subtype_name IS base_type
SQL编写 DDL 【建议】在GaussDB中,建议DDL(建表、COMMENT等)操作统一执行。在批处理作业中尽量避免DDL操作。避免大量并发事务对性能的影响。 【建议】在非日志表(unlogged table)使用完后,立即执行数据清理(TRUNCATE)操作。因为在异常场景
DBE_OUTPUT 当使用DBE_OUTPUT.PUT_LINE打印DBE_FILE.READ_LINE_NCHAR接口得到的结果时,需要确保UTF-8字符集编码能够转换成当前数据库字符集编码,满足上述条件后可以正常输出结果。DBE_OUTPUT.PRINT_LINE不支持该功能。
HLL函数和操作符 哈希函数 hll_hash_boolean(bool) 描述:对bool类型数据计算哈希值。 返回值类型:hll_hashval 示例: 1 2 3 4 5 gaussdb=# SELECT hll_hash_boolean(FALSE); hll_hash_boolean
HLL函数和操作符 哈希函数 hll_hash_boolean(bool) 描述:对bool类型数据计算哈希值。 返回值类型:hll_hashval 示例: 1 2 3 4 5 gaussdb=# SELECT hll_hash_boolean(FALSE); hll_hash_boolean
HLL函数和操作符 哈希函数 hll_hash_boolean(bool) 描述:对bool类型数据计算哈希值。 返回值类型:hll_hashval 示例: 1 2 3 4 5 openGauss=# SELECT hll_hash_boolean(FALSE); hll_hash_boolean
HLL函数和操作符 哈希函数 hll_hash_boolean(bool) 描述:对bool类型数据计算哈希值。 返回值类型:hll_hashval 示例: 1 2 3 4 5 gaussdb=# SELECT hll_hash_boolean(FALSE); hll_hash_boolean
存储过程支持自治事务 自治事务可以在存储过程中定义,标识符为PRAGMA AUTONOMOUS_TRANSACTION,其余语法与创建存储过程语法相同,请参见CREATE PROCEDURE,示例如下。 --建表 gaussdb=# CREATE TABLE t2(a INT, b