检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
更新表中数据 修改已经存储在数据库中数据的行为叫做更新。用户可以更新单独一行,所有行或者指定的部分行。还可以独立更新每个字段,而其他字段则不受影响。 使用UPDATE命令更新现有行,需要提供以下三种信息: 表的名称和要更新的字段名 字段的新值 要更新的行 SQL通常不会为数据行提
DBE_PLDEBUGGER.local_debug_server_info 用于查找当前连接中已经turn_on的存储过程oid。便于用户确认在调试哪些存储过程,需要通过funcoid和pg_proc配合使用。 表1 local_debug_server_info 返回值列表 名称
DBE_PLDEBUGGER.local_debug_server_info 用于查找当前连接中已经turn_on的存储过程oid。便于用户确认在调试哪些存储过程,需要通过funcoid和pg_proc配合使用。 表1 local_debug_server_info 返回值列表 名称
DBE_PLDEBUGGER.local_debug_server_info 用于查找当前连接中已经turn_on的存储过程oid。便于用户确认在调试哪些存储过程,需要通过funcoid和pg_proc配合使用。 表1 local_debug_server_info 返回值列表 名称
无法在指定时间内锁定某个表,转储会失败。用户可以通过指定--lock-wait-timeout选项,自定义等待锁超时时间。 不支持加密导出存储过程和函数。 对于物化视图,本工具仅支持物化视图定义的导出,在导入后需手动执行REFRESH命令来进行数据恢复。 对于临时对象,本工具仅支持导出全局临时表。
案例:改建分区表 现象描述 如下简单SQL语句查询, 性能瓶颈点在dwcjk的Scan上。 优化分析 从业务层确认表数据(在cjrq字段上)有明显的日期特征,符合分区表的特征。重新规划dwcjk表的表定义:字段cjrq为分区键、天为间隔单位定义分区表dwcjk_part。修改后结果如下,性能提升近1倍。
对象标识符类型 GaussDB在内部使用对象标识符(OID)作为各种系统表的主键。系统不会给用户创建的表增加一个OID系统字段,OID类型代表一个对象标识符。 目前OID类型用一个四字节的无符号整数实现。因此不建议在创建的表中使用OID字段做主键。 表1 对象标识符类型 名称 引用
比较操作符 大部分数据类型都可用比较操作符进行比较,并返回一个布尔类型的值。 比较操作符均为双目操作符,被比较的两个数据类型必须是相同的数据类型或者是可以进行隐式转换的类型。 GaussDB提供的比较操作符请参见表1。 表1 比较操作符 操作符 描述 < 小于 > 大于 <= 小于或等于
触发器函数 pg_get_triggerdef(oid) 描述:获取触发器的定义信息。 参数:待查触发器的OID。 返回值类型:text pg_get_triggerdef(oid, boolean) 描述:获取触发器的定义信息。 参数:待查触发器的OID及是否以pretty方式展示。
提示信息函数 report_application_error() 描述:PL执行过程中,可以使用此函数来抛ERROR。 返回值类型:void 表1 report_application_error参数说明 参数 类型 说明 是否必选 log text error消息的内容。 是
hotkey特性函数 gs_stat_get_hotkeys_info() 描述:获取本地节点查询的热词信息。 返回值类型:Tuple 示例: 1 2 3 4 5 6 openGauss=# select * from gs_stat_get_hotkeys_info() order
行表达式 语法: row_constructor operator row_constructor 两边都是一个行构造器,两行值必须具有相同数目的字段,每一行都进行比较,行比较允许使用=,<>,<,<=,>=等操作符,或其中一个相似的语义符。 对于<,<=,>,> =的情况下,行
审视和修改表定义概述 好的表定义至少需要达到以下几个目标: 减少扫描数据量。通过分区的剪枝机制可以实现该点。 尽量极少随机IO。通过聚簇/局部聚簇可以实现该点。 表定义在数据库设计阶段创建,在SQL调优过程中进行审视和修改。 父主题: 审视和修改表定义
案例:改建分区表 现象描述 如下简单SQL语句查询, 性能瓶颈点在normal_date的Scan上。 1 2 3 4 5 6 7 QUERY PLAN
逻辑操作符 常用的逻辑操作符有AND、OR和NOT,运算结果有三个值,分别为TRUE、FALSE和NULL,其中NULL代表未知。运算优先级顺序为:NOT>AND>OR。 运算规则请参见表1,表中的a和b代表逻辑表达式。 表1 运算规则表 a b a AND b的结果 a OR b的结果
触发器函数 pg_get_triggerdef(oid) 描述:获取触发器的定义信息。 参数:待查触发器的OID。 返回值类型:text 示例: openGauss=# select pg_get_triggerdef(oid) from pg_trigger;
几何函数和操作符 几何操作符 + 描述:平移。 示例: 1 2 3 4 5 openGauss=# SELECT box '((0,0),(1,1))' + point '(2.0,0)' AS RESULT; result ------------- (3,1)
范围函数和操作符 范围操作符 = 描述:等于 示例: 1 2 3 4 5 openGauss=# SELECT int4range(1,5) = '[1,4]'::int4range AS RESULT; result -------- t (1 row) <> 描述:不等于
SUMMARY_WORKLOAD_SQL_ELAPSE_TIME SUMMARY_WORKLOAD_SQL_ELAPSE_TIME用来统计所有CN节点上workload(业务)负载的SUID信息。 表1 SUMMARY_WORKLOAD_SQL_ELAPSE_TIM字段 名称 类型
检查隐式转换的性能问题 在某些场景下,数据类型的隐式转换可能会导致潜在的性能问题。请看如下的场景: SET enable_fast_query_shipping = off; CREATE TABLE t1(c1 VARCHAR, c2 VARCHAR); CREATE INDEX