检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
分析查询效率异常降低的问题 通常在几十毫秒内完成的查询,有时会突然需要几秒的时间完成;而通常需要几秒完成的查询,有时需要半小时才能完成。如何分析这种查询效率异常降低的问题呢? 处理步骤 通过下列的操作步骤,可以分析出查询效率异常降低的原因。 使用ANALYZE命令分析数据库。 A
CREATE TABLE Teradata的CREATE TABLE (缩写关键字为CT)语句用于创建表。 示例: 输入:CREATE TABLE 1 2 3 CT tab1 ( id INT ); 输出: 1 2 3 4 5 6 CREATE TABLE
COLLATE 在MySQL中,COLLATE表示默认的数据库排序规则。GaussDB(DWS)不支持该属性修改表定义信息,DSC迁移时会将该关键字删除。 输入示例 1 2 3 4 5 6 7 8 CREATE TABLE `public`.`runoob_tbl_test`(
ENGINE 在MySQL中,ENGINE指定表的存储引擎。当存储引擎为ARCHIVE、BLACKHOLE、CSV、FEDERATED、INNODB、MYISAM、MEMORY、MRG_MYISAM、NDB、NDBCLUSTER和PERFOMANCE_SCHEMA时,DSC支持该属性迁移,迁移过程中会将该属性删除。
IF NOT EXISTS DSC支持转换IF NOT EXISTS关键字,迁移过程保留。 输入示例 1 2 3 4 5 6 7 8 9 10 DROP TABLE IF EXISTS `categories`; CREATE TABLE IF NOT EXISTS
LOCK GaussDB(DWS)不支持MySQL中的“ALTER TABLE tbName LOCK”语句,DSC工具迁移时会将其删除。 输入示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
PARTITION BY 在MySQL中,PARTITION BY用于创建分区表。GaussDB(DWS)目前仅对MySQL中的RANGE,LIST分区进行支持。 对于PARTITION BY的HASH分区,DSC暂不支持该特性的完整迁移,将其移除。对于表的当前功能暂时没有影响,性能方面可能存在些许差异。
GS_TOTAL_NODEGROUP_MEMORY_DETAIL GS_TOTAL_NODEGROUP_MEMORY_DETAIL视图统计当前数据库逻辑集群使用内存的信息,单位为MB。 表1 GS_TOTAL_NODEGROUP_MEMORY_DETAIL字段 名称 类型 描述 ngname
PG_SYNONYM PG_SYNONYM系统表存储同义词对象名与其他数据库对象名间的映射信息。 表1 PG_SYNONYM字段 名称 类型 描述 synname name 同义词名称。 synnamespace oid 该同义词所在的命名空间的OID。 synowner oid
PG_TRIGGER PG_TRIGGER系统表存储触发器信息。 名称 类型 描述 tgrelid oid 触发器所在表的OID。 tgname name 触发器名。 tgfoid oid 触发器OID。 tgtype smallint 触发器类型。 tgenabled "char"
PG_TS_CONFIG PG_TS_CONFIG系统表包含表示文本搜索配置的选项。一个配置指定一个特定的文本搜索解析器和一个用于解析器输出类型的字典列表。 解析器在PG_TS_CONFIG记录中显示,但是字典映射的标记是由PG_TS_CONFIG_MAP中的辅助记录定义的。 表1
GS_REL_IOSTAT GS_REL_IOSTAT视图提供当前节点上磁盘读写的统计信息。当前版本中,每次读/写磁盘只读/写一页,所以读写次数与页数相等。 表1 GS_REL_IOSTAT字段 名称 类型 描述 phyrds bigint 读磁盘次数。 phywrts bigint
GaussDB(DWS)数据库对象命名规则 数据库对象命名需要满足约束:长度不超过63个字符,以字母或下划线开头,中间字符可以是字母、数字、下划线、$。 【建议】避免使用保留或者非保留关键字命名数据库对象。 可以使用SELECT * FROM pg_get_keywords()查
案例:NOT IN转NOT EXISTS NOT IN语句需要使用nestloop anti join来实现,而NOT EXISTS则可以通过hash anti join来实现。在join列不存在null值的情况下,not exists和not in等价。因此在确保没有null值时,可以通过将not
GaussDB(DWS)存储过程数据类型转换 数据库中允许有些数据类型进行隐式类型转换(赋值、函数调用的参数等),有些数据类型间不允许进行隐式数据类型转换,可尝试使用GaussDB(DWS)提供的类型转换函数,例如CAST进行数据类型强转。 GaussDB(DWS)数据库常见的隐式类型转换,请参见表1。
PV_INSTANCE_TIME PV_INSTANCE_TIME视图用于统计进程的运行时间信息及各执行阶段所消耗时间,单位为微秒。 提供当前节点下的各种时间消耗信息,主要分为以下类型: DB_TIME: 作业在多核下的有效时间花费。 CPU_TIME:CPU时间的消耗。 EXE
PV_SESSION_MEMORY PV_SESSION_MEMORY视图统计Session级别的内存使用情况,包含执行作业在数据节点上Postgres线程和Stream线程分配的所有内存。 表1 PV_SESSION_MEMORY字段 名称 类型 描述 sessid text 线程启动时间+线程标识。
PGXC_TABLE_STAT PGXC_TABLE_STAT视图提供集群所有CN和DN节点上当前数据库所有表的统计信息。除在每一行前面增加name类型的nodename字段外,其余字段的名称、类型和顺序与GS_TABLE_STAT视图相同,具体的字段请参考GS_TABLE_STAT。
PG_PUBLICATION PG_PUBLICATION系统表存储当前数据库中创建的所有发布。该系统表仅8.2.0.100及以上集群版本支持。 表1 PG_PUBLICATION字段 名称 类型 引用 描述 oid oid - 行标识符(隐藏属性,必须明确选择才会显示)。 pubname
SHOW_TSC_INFO 查询当前节点TSC信息。该视图仅8.2.1及以上集群版本支持。 表1 返回值字段 名称 类型 描述 node_name text 节点名称。 tsc_mult bigint TSC换算乘数。 tsc_shift bigint TSC换算位移数。 tsc_frequency