检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
静态SQL 表1 静态查询 SQL语句 序号 Oracle数据库 GaussDB数据库 差异 1 SELECT 支持,有差异 GaussDB和Oracle在某些场景下有不同。 GaussDB中不同事务中的共享锁在如下场景中不会互相阻塞: SELECT FOR SHARE - SELECT
CREATE COLUMN ENCRYPTION KEY 功能描述 创建一个列加密密钥,该密钥可用于加密表中的指定列。 注意事项 本语法属于全密态数据库特有语法。 当使用gsql连接数据库服务器时,需使用“-C”参数,打开全密态数据库的开关,才能使用本语法。 由该语法创建CEK对
DROP USER 功能描述 DROP USER用于GaussDB数据库中执行对用户的删除操作,该权限需要具备创建用户的权限才能执行。当执行删除用户的指令成功后,同时会删除同名的schema。 注意事项 须使用CASCADE级联删除依赖用户的对象(除数据库外)。当删除用户的级联对
extendedCacheEverything模式会缓存每个statement。 默认值:extended targetServerType 该参数识别主备数据节点是通过查询URL连接串中,数据节点是否允许写操作来实现的。 属性类型:String 取值范围:any、master、slave
DROP USER 功能描述 删除用户,同时会删除同名的schema。 注意事项 须使用CASCADE级联删除依赖用户的对象(除数据库外)。当删除用户的级联对象时,如果级联对象处于锁定状态,则此级联对象无法被删除,直到对象被解锁或锁定级联对象的进程被终止。 在GaussDB中,存
CREATE COLUMN ENCRYPTION KEY 功能描述 创建一个列加密密钥,该密钥可用于加密表中的指定列。 注意事项 本语法属于全密态数据库特有语法。 当使用gsql连接数据库服务器时,需使用“-C”参数,打开全密态数据库的开关,才能使用本语法。 由该语法创建CEK对
静态SQL 表1 静态查询 SQL语句 序号 Oracle数据库 GaussDB数据库 差异 1 SELECT 支持,有差异 GaussDB和Oracle在某些场景下有不同。 GaussDB中FOR SHARE对检索出来的行加共享锁,不同事务的共享锁不会互相阻塞。若数据在一个事务中被FOR
INSERT ALL 功能描述 向多个表中插入一条或多条数据。 注意事项 只有拥有表INSERT权限的用户,才可以向表中插入数据。用户被授予INSERT ANY TABLE权限,即用户对除系统模式之外的任何模式具有USAGE权限,并且拥有这些模式下表的INSERT权限。 如果使用
CREATE SEQUENCE 功能描述 CREATE SEQUENCE用于向当前数据库增加一个新的序列。序列的Owner为创建此序列的用户。 注意事项 SEQUENCE是一个存放等差数列的特殊表。这个表没有实际意义,通常用于为行或者表生成唯一的标识符。 如果给出一个模式名,则该
GLOBAL_STATEMENT_COMPLEX_HISTORY 显示各个节点执行作业结束后的负载管理记录,如表1所示。 表1 GLOBAL_STATEMENT_COMPLEX_HISTORY的字段 名称 类型 描述 datid oid 连接后端的数据库OID。 dbname text
锁管理 在GaussDB中,并发执行的事务由于竞争资源会导致死锁。本节介绍的参数主要管理事务锁的机制。 deadlock_timeout 参数说明:设置死锁超时检测时间,以毫秒为单位。当申请的锁超过设定值时,系统会检查是否产生了死锁。该参数仅针对常规锁生效。 死锁的检查代价是比较
置。 将该参数设置为on时,需要同时将参数enable_fast_query_shipping设置为off,检查索引列的隐式数据类型转换的识别机制才会生效。 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险
CREATE TABLE PARTITION 功能描述 创建分区表。分区表是把逻辑上的一张表根据某种方案分成几张物理块进行存储,这张逻辑上的表称之为分区表,物理块称之为分区。分区表是一张逻辑表,不存储数据,数据实际是存储在分区上的。 常见的分区方案有范围分区(Range Part
file_fdw file_fdw模块提供了外部数据封装器file_fdw,可以用来在服务器的文件系统中访问数据文件。数据文件必须是COPY FROM可读的格式,具体请参见《开发指南》中“SQL参考 > SQL语法 > COPY”章节。使用file_fdw访问的数据文件是当前可读的,不支持对该数据文件的写入操作。
字符串数据类型 表1 字符串数据类型 MySQL数据库 GaussDB数据库 差异 CHAR(M) 支持,存在差异 输入格式:输入二进制或十六进制字符串时,GaussDB输出为十六进制,MySQL中根据ASCII码表转义,无法转义的输出为空。 VARCHAR(M) 支持,存在差异
表设计 总体上讲,良好的表设计需要遵循以下原则: 减少需要扫描的数据量。通过分区表的剪枝机制可以大幅减少数据的扫描量。 尽量减少随机I/O。通过聚簇可以实现热数据的连续存储,将随机I/O转换为连续I/O,从而减少扫描的I/O代价。 选择分区方案 当表中的数据量很大时,应当对表进行分区,一般需要遵循以下原则:
PG_STATS PG_STATS视图可用来查看存储在pg_statistic表里面的单列统计信息。该视图记录的统计信息更新时间间隔由GUC参数autovacuum_naptime设置。 表1 PG_STATS字段 名称 类型 引用 描述 schemaname name PG_NAMESPACE
DECLARE 功能描述 DECLARE命令既可以定义一个游标,用于在一个大的查询里面检索少数几行数据,也可以作为一个匿名块的开始。 本节主要描述定义为游标的用法,定义为匿名块的用法见BEGIN。 为了处理SQL语句,存储过程线程分配一段内存区域来保存上下文联系。游标是指向上下文
PG_STATS PG_STATS视图可用来查看存储在pg_statistic表里面的单列统计信息。该视图记录的统计信息更新时间间隔由参数autovacuum_naptime设置。 表1 PG_STATS字段 名称 类型 引用 描述 schemaname name PG_NAMESPACE
PG_STATS PG_STATS视图可用来查看存储在pg_statistic表里面的单列统计信息。该视图记录的统计信息更新时间间隔由参数autovacuum_naptime设置。 表1 PG_STATS字段 名称 类型 引用 描述 schemaname name PG_NAMESPACE