检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
普通表和分区的表约束个数相同,且对应表约束的信息严格一致。 普通表不可以是临时表。 在内置安全策略开关开启的情况下,普通表不可以包含绑定了动态数据脱敏策略的列。 完成交换后,普通表和分区的数据被置换,同时普通表和分区的表空间信息被置换。此时,普通表和分区的统计信息变得不可靠,需要对普通表和分区重新执行analy
当SELECT子查询中包含且仅包含时间函数,且函数入参包含表中的列时,使用算数运算符(如+、-、*、/、取反等)对结果进行运算时,会截断日期与时间函数返回值后再进行算数运算。 m_db=# CREATE TABLE t1(int_var int); CREATE TABLE m_db=# INSERT
only_fisrt_part_two; 通过改写分区子句剪枝优化 当没有分区级统计信息时,在优化器行数估算模块,通过在逻辑上对分区子句进行伪谓词的改写,利用改写后的伪谓词影响选择率的计算和整表的统计信息获取一个比较准确的行数估算值。 特性只作用于选择率的计算。 特性不支持二级分区。 特性只支持范围分区(range
test_debug | 4 | DELETE FROM t1 WHERE a = x; (1 row) 存储过程执行结束后,调试会自动退出,再进行调试需要重新attach关联。如果server端不需要继续调试,可执行turn_off关闭,或退出session。具体调试接口如表1所示。
回的是0值:0000-00-00,严格模式下会报错。MySQL的范围是 0000-00-00 ~ 9999-12-31,宽松模式下超过范围后,各个场景下的表现并不一致,可能报错(如SELECT查询语句中),也可能返回0000-00-00值(如INSERT时)。此差异会导致date
回的是0值:0000-00-00,严格模式下会报错。MySQL的范围是 0000-00-00 ~ 9999-12-31,宽松模式下超过范围后,各个场景下的表现并不一致,可能报错(如SELECT查询语句中),也可能返回0000-00-00值(如INSERT时)。此差异会导致date
>10 ) SELECT t2.c2,ssq.c2 FROM t2 RIGHT JOIN ssq ON ssq.c1 = t2.c1; 改写后的执行计划为: 1 2 3 4 5 6 7 8 9 QUERY PLAN ----------
row) 本章内入参为xmltype的函数支持以xmltype().func()的方式调用,会将前一项返回的xmltype类型当作入参传入后一项的函数内,该语法支持多层嵌套(用户自定义函数入参为xmltype不支持该语法)。 示例: 1 2 3 4 5 gaussdb=# select
在为整型数字列指明宽度信息时,如果不同时指定ZEROFILL,则宽度信息在表结构描述中不显示。 INSERT语句插入字符类型字段,GaussDB统一补齐0后插入。 JOIN USING语句,涉及类型推导,MySQL默认第一张表列,GaussDB若结果为有符号类型则宽度信息失效,否则为第一张表字段宽度。
ARRAY[]::int[]; array ------- {} (1 row) 也可以从子查询的结果中构造一个数组。此时,数组构造器是关键字ARRAY后拼接用圆括号包含的子查询,子查询必须只返回一个单独的字段。生成的一维数组将为子查询里每行结果生成一个元素,元素类型匹配子查询的输出字段。示例:
前面没有设置,则取默认值。如SET f1 = f1 + 1, f2 = f1场景下,f1等于f1的默认值(假设为0)+1,f2等于f1计算后的值1。 支持触发器,触发器执行顺序由实际执行流程决定: 执行INSERT: 触发BEFORE INSERT、AFTER INSERT触发器。
10 ) select t2.c2,ssq.c2 from t2 right join ssq on ssq.c1 = t2.c1; 改写后的执行计划为: 1 2 3 4 5 6 7 8 9 10 11 QUERY PLAN
如果使用query子句插入来自查询里的数据行,用户还需要拥有在查询里使用的表的SELECT权限。 如果使用query子句插入来自查询动态数据脱敏列的数据,插入的结果即为脱敏后的值,无法被还原。 当连接到TD兼容的数据库时,td_compatible_truncation参数设置为on时,将启用超长字符串自动截断功
BY)子句结束之后,作为过滤条件执行。 在内部实现时,是先把原WHERE表达式的语法树中的不满足下推的子表达式删除后得到最终下推的表达式,再把原WHERE表达式的parsetree中的满足下推的子表达式删除后得到最终不下推的表达式。 综上所述,有以下几点需要额外强调: 拆分WHERE表达式时,析取也会
在为整型数字列指明宽度信息时,如果不同时指定ZEROFILL,则宽度信息在表结构描述中不显示。 INSERT语句插入字符类型字段,GaussDB统一补齐0后插入。 JOIN USING语句,涉及类型推导,MySQL默认第一张表列,GaussDB若结果为有符号类型则宽度信息失效,否则为第一张表字段宽度。
= 10) (9 rows) 先针对子查询的关联字段进行分组聚集,再和主查询进行关联,减少相关子链接的重复扫描,提升查询效率,修改重写参数后,计划改变: gaussdb=# set rewrite_rule = magicset; SET gaussdb=# explain (costs
>10 ) select t2.c2,ssq.c2 from t2 right join ssq on ssq.c1 = t2.c1; 改写后的执行计划为: 1 2 3 4 5 6 7 8 9 QUERY PLAN ----------
数据的交换;GaussDB会校验默认值,如果默认值不同,则无法进行分区和普通表数据的交换。 MySQL在分区表或普通表上进行DROP列操作后,表结构仍然一致,则可进行分区和普通表数据的交换;GaussDB需要保证普通表和分区表的被删除列严格对齐才能进行分区和普通表数据的交换。 M
= 10) (9 rows) 先针对子查询的关联字段进行分组聚集,再和主查询进行关联,减少相关子链接的重复扫描,提升查询效率,修改重写参数后,计划改变: gaussdb=# SET rewrite_rule = magicset; SET gaussdb=# explain (costs
LIMIT/OFFSET,不支持带有子查询、子链接。 存储过程中声明为FOR UPDATE的CURSOR,在COMMIT/ROLLBACK后,将无法再次使用。 若CURSOR指向的行已经不存在,在A兼容性模式下将报错指定的行不存在(仅UPDATE时报错,DELETE不报错),其他兼容模式下不报错。