检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
异构数据库迁移至GaussDB分布式后select查询无order by数据结果集不一致 问题现象 图1 查询SQL中无order by 问题原因 GaussDB 分布式数据中,数据是按照分布键均匀存储在各DN节点上,select查询无order by时,数据随机从DN节点上读取,因此数据结果无法保证一致。
RIGHT_SHIFT算法 适用场景 当拆分键大部分键值的低位部位区分度比较低而高位部分区分度比较高时,则适用于通过此拆分算法提高散列结果的均匀度。 使用说明 拆分键的数据类型必须是整数类型。 路由方式 根据拆分键的键值(键值必须是整数)有符号地向右移二进制移指定的位数(位数由用户通过
YYYYMM按年月哈希 适用场景 适用于需要按年份与月份进行分库的场景,建议该函数与 tbpartition YYYYMM(ShardKey) 联合使用。 使用说明 拆分键的数据类型必须是DATE / DATETIME / TIMESTAMP其中之一。 路由方式 根据拆分键的时间
MMDD按月日哈希 适用场景 MMDD适用于按一年的天数(即一年中日期)进行分表,分表的表名的下标就是一年中的第几天,一年最多366天。 使用说明 拆分键的类型必须是DATE/DATETIME/TIMESTAMP其中之一。 只能作为分表函数使用,但不能作为分库函数。 路由方式 根
报错 read error, please check source redis log or network 源端发送缓冲区太小,需修改源端redis参数配置,该参数client-output-buffer-limit可热生效。 父主题: 数据迁移
数据类型比较(排序)规则是指相同数据类型的值之间发生比较(排序)时遵循的比较(排序)规则。 表1 比较规则 序号 Oracle数据库 GaussDB数据库 差异 1 Numeric值 支持 - 2 日期时间值 支持 - 3 二进制值 支持 - 4 字符值 支持,有差异 在Gaus
pg_lifecycle_node_data_distribute() 描述:查看所有冷热表数据分布情况。 返回值:record 示例:数据库中当前存在两个冷热表,其数据分布情况如下。 1 2 3 4 5 6 SELECT * FROM pg_catalog.pg_lifecyc
其他系统函数 其他系统函数包含两类,兼容PostgreSQL的函数和实现内部功能的函数。这些函数不推荐使用,若需使用,请联系华为技术支持工程师。 兼容PostgreSQL的函数和操作符 下述列表为GaussDB的内建函数和操作符兼容PostgreSQL。 _pg_char_max_length
类型转换函数 cash_words(money) 描述:类型转换函数,将money转换成text。 示例: 1 2 3 4 5 openGauss=# SELECT cash_words('1.23'); cash_words --------------
二进制类型 GaussDB支持的二进制类型请参见表1。 表1 二进制类型 名称 描述 存储空间 BLOB 二进制大对象 目前BLOB支持的外部存取接口仅为: DBE_LOB.GET_LENGTH DBE_LOB.READ DBE_LOB.WRITE DBE_LOB.WRITE_APPEND
选择分布列 Hash分布表的分布列选取至关重要,需要满足以下原则: 列值应比较离散,以便数据能够均匀分布到各个DN。例如,考虑选择表的主键为分布列,如在人员信息表中选择身份证号码为分布列。 在满足第一条原则的情况下尽量不要选取存在常量filter的列。例如,表dwcjk相关的部分
模式匹配操作符 数据库提供了三种独立的实现模式匹配的方法:SQL LIKE操作符、SIMILAR TO操作符和POSIX-风格的正则表达式。除了这些基本的操作符外,还有一些函数可用于提取或替换匹配子串并在匹配位置分离一个串。 LIKE 描述:判断字符串是否能匹配上LIKE后的模式
子查询没有返回任何行,EXISTS的结果是“假”。 这个子查询通常只是运行到能判断它是否可以生成至少一行为止,而不是等到全部结束。 不支持对XML类型数据操作。 示例: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 gaussdb=# CREATE
提示信息函数 report_application_error() 描述:PL执行过程中,可以使用此函数来抛ERROR。 返回值类型:void 表1 report_application_error参数说明 参数 类型 说明 是否必选 log text error消息的内容。 是
类型转换函数 类型转换函数 cash_words(money) 描述:类型转换函数,将money转换成text。 示例: 1 2 3 4 5 gaussdb=# SELECT cash_words('1.23'); cash_words ---------------
text,oid 数据库 数据库名字或id。 privilege text 权限 CREATE:对于数据库,允许在数据库里创建新的模式。 TEMPORARY:允许在使用数据库的时候创建临时表。 TEMP:允许在使用数据库的时候创建临时表。 CONNECT:允许用户连接到指定的数据库。 ALTER:允许用户修改指定对象的属性。
| longblobtest (1 row) --删除表和数据库。 gaussdb_m=# DROP TABLE t1; gaussdb_m=# \c postgres; gaussdb=# DROP DATABASE gaussdb_m; --重置参数。 gaussdb=# \c
好的表定义至少需要达到以下几个目标: 减少扫描数据量。通过分区的剪枝机制可以实现该点。 尽量减少随机I/O。通过聚簇可以实现该点。 表定义在数据库设计阶段创建,在SQL调优过程中进行审视和修改。 父主题: 审视和修改表定义
其他系统函数 其他系统函数包含两类,兼容PostgreSQL的函数和实现内部功能的函数。这些函数不推荐使用,若需使用,请联系华为技术支持工程师。 兼容PostgreSQL的函数和操作符 GaussDB的内建函数和操作符兼容PostgreSQL。其中部分函数为系统内部调用函数(如se
(1 row) gaussdb=# create database test2 DBCOMPATIBILITY 'B'; CREATE DATABASE gaussdb=# \c b_database b_database=# SELECT 1 <=> 1 AS RESULT;