检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
查看表和数据库的信息 查询表信息 使用系统表pg_tables查询数据库所有表的信息。 1 SELECT * FROM pg_tables; 使用gsql的\d+命令查询表结构。 示例:先创建表customer_t1并插入数据。 1 2 3 4 5 6 7 8 9 CREATE
MySQL SQL迁移 工具支持从MySQL到GaussDB(DWS)的迁移,包括模式、DML、查询、系统函数、PL/SQL等。 在LINUX中执行MySQL迁移 在Linux中执行以下命令开始迁移。用户需指定源数据库、输入和输出文件夹路径和日志路径;应用程序语言类型是SQL。
MySQL配置 设置MySQL配置参数可在迁移MySQL数据库脚本时自定义迁移工具的行为。 打开config文件夹中的features-mysql.properties文件,并根据实际需要设置features-mysql.properties文件中的配置参数中的参数。 表1 features-mysql
要的维护成本。 使用分区表 分区表是把逻辑上的一张表根据某种方案分成几张物理块进行存储。这张逻辑上的表称之为分区表,物理块称之为分区。分区表是一张逻辑表,不存储数据,数据实际是存储在分区上的。分区表和普通表相比具有以下优点: 改善查询性能:对分区对象的查询可以仅搜索自己关心的分区,提高检索效率。
、Teradata和MySQL数据库兼容模式。 在TD/MySQL兼容模式下,空和NULL是不相等的,在ORA兼容模式下,空和NULL是相等的。因此上述场景可能是因为两个环境中数据库的兼容性模式设置不一致导致。 可通过查询PG_DATABASE系统表确认数据库的兼容模式: 1 SELECT
如何查看GaussDB(DWS)外部表信息? 如果需要查询OBS、GDS等外表信息(如OBS路径),可以执行以下语句查询。 1 SELECT * FROM pg_get_tabledef('外表名称') 例如,表名为traffic_data.GCJL_OBS,查询如下: 1 SELECT
在历史查询监控页面展示了当前集群中的所有历史查询信息。 历史查询仅8.1.2及以上集群版本支持。 启动历史查询功能需要在“监控设置 > 监控采集”页面打开“历史查询监控”指标项,操作详情请参见监控采集。开启历史查询后可能会导致数据量过大,请谨慎操作。 历史查询 在“历史查询”这一栏您可以根据选择的指
MySQL语法迁移 支持的关键词和特性 数据类型 函数和表达式 表(可选参数、操作) 索引 注释 数据库 数据操作语句(DML) 事务管理和数据库管理 父主题: DSC
对于过于复杂并且不易通过以上方法调整性能的SQL可以考虑拆分的方法,把SQL中某一部分拆分成独立的SQL并把执行结果存入临时表,拆分常见的场景包括但不限于: 作业中多个SQL有同样的子查询,并且子查询数据量较大。 Plan cost计算不准,导致子查询hash bucket太小,比如实际数据1000W行,hash
将Schema中的表的查询权限赋给其他用户,赋权后仍无法查询Schema中的表 问题现象 有权限的用户使用“GRANT SELECT ON all tables in schema schema_name TO u1”命令给u1用户赋予schema下表的权限后,u1用户仍然无法访问该schema下的表。
tion所设置的值,该条语句的历史信息将会在三分钟后被归档到gs_wlm_session_info视图中。 对于info视图,只支持在连接postgres数据库时查询。因此,请切换为连接postgres数据库后,再执行以下语句进行查询: 1 SELECT query,start_time
如何调整GaussDB(DWS)分布列? 在数据仓库类型的数据库中,大表的分布列选择对于数据库和语句查询性能都有至关重要的影响。 如果表的分布列选择不当,在数据导入后有可能出现数据分布倾斜,进而导致某些磁盘的使用明显高于其他磁盘,极端情况下会导致集群只读。对于Hash分表策略,存
查询表大小时报错“could not open relation with OID xxx” 问题现象 在执行pg_table_size查询表大小时,出现报错“could not open relation with OID xxxx.”。 原因分析 通过执行pg_table_s
场景一:磁盘满后快速定位存储倾斜的表 首先,通过pg_stat_get_last_data_changed_time(oid)函数查询出近期发生过数据变更的表,介于表的最后修改时间只在进行IUD操作的CN记录,要查询库内1天(间隔可在函数中调整)内被修改的所有表,可以使用如下封装函数:
Oracle、Teradata和MySQL语法兼容性差异 GaussDB(DWS)支持Oracle、Teradata和MySQL三种兼容模式,分别兼容Oracle、Teradata和MySQL语法,不同兼容模式下的语法行为有一些差异。 数据库兼容模型可以在创建数据库时指定(由DBCOMPA
如何查看GaussDB(DWS)表是行存还是列存? 表的存储方式由建表语句中的ORIENTATION参数控制,row表示行存,column表示列存。 不指定ORIENTATION参数,默认为row行存。 查看已创建的表是行存还是列存,可通过表定义函数PG_GET_TABLEDEF查询。
GROUP BY转换 MySQL/ADB分组查询的时候允许查询非分组字段,不报错;DWS分组查询时只能查询分组字段和聚集函数,报错。因此补齐没有group by的查询分组字段。 输入示例 1 SELECT e.department_id, department_name, ROUND(AVG(salary)
FULL操作,这种场景下需要查找出哪些表执行过UPDATE; 判断一张表是否是维度表,是否可以从Hash表变更为复制表,可以查看这张表是否执行过UPDATE或DELETE,如果执行过UPDATE或DELETE操作,则不能修改为复制表。 处理方法 通过以下命令查找哪些表执行过UPDATE及DELETE操作:
查询数据源 功能介绍 该接口用于查询数据源。 调用方法 请参见如何调用API。 URI GET /v1.0/{project_id}/clusters/{cluster_id}/ext-data-sources 表1 路径参数 参数 是否必选 参数类型 描述 project_id
CHANGE修改列 CHECK约束 DROP删除表 LIKE 表克隆 MODIFY修改列 TRUNCATE 删除表 ROUNDROBIN表 RENAME 重命名表名 设置与清除列默认值 字段名重命名 行列存压缩 添加与删除列 父主题: MySQL语法迁移