检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
算子级调优 算子级调优介绍 一个查询语句要经过多个算子步骤才会输出最终的结果。由于个别算子耗时过长导致整体查询性能下降的情况比较常见。这些算子是整个查询的瓶颈算子。通用的优化手段是EXPLAIN ANALYZE/PERFORMANCE命令查看执行过程的瓶颈算子,然后进行针对性优化。
优化器参数调整 本节将介绍影响GaussDB(DWS) SQL调优性能的优化器配置参数,配置方法参见设置GUC参数。 表1 CN配置参数 参数/参考值 描述 enable_nestloop=on 控制查询优化器对嵌套循环连接(Nest Loop Join)类型的使用。当设置为“on”后,优化器优先使用Nest
案例:调整局部聚簇键 局部聚簇 (Partial Cluster Key,简称PCK),列存储下一种通过min/max稀疏索引实现基表快速扫描的索引技术。Partial Cluster Key可以指定多列,但是一般不建议超过2列。PCK适用于列存大表点查询加速。 优化前 创建一个
动态调用存储过程 动态调用存储过程必须使用匿名的语句块将存储过程或语句块包在里面,使用EXECUTE IMMEDIATE…USING语句后面带IN、OUT来输入、输出参数。 语法 语法请参见图1。 图1 call_procedure::= using_clause子句的语法参见图2。
FOREIGN_KEY_CHECKS MySQL中的外键约束,GaussDB(DWS)不支持该属性修改表定义信息,DSC迁移时会将该属性删除。 输入示例 1 2 3 4 5 6 SET foreign_key_checks = 0; CREATE TABLE mall_order_dc
INSERT_METHOD INSERT_METHOD指定在表中插入行的位置,使用FIRST或LAST值将插入转到第一个或最后一个表,或使用值NO以防止插入。在迁移的过程中DSC会将该属性删除。 输入示例 1 2 3 4 5 6 7 8 9 10 11 12 13
MIN_ROWS MIN_ROWS表示在表中存储的最小行数。DSC迁移过程时会将该属性删除。 输入示例 1 2 3 4 5 6 7 8 CREATE TABLE `public`.`runoob_alter_test`( `dataType1` int NOT NULL AUTO_INCREMENT
添加与删除列 MySQL添加、删除列语句与GaussDB(DWS)存在差异。DSC工具迁移时会根据GaussDB(DWS)的特性进行相应适配。 GaussDB不支持表定义中列序数的变更,工具暂不支持FRIST,AFTER特性的完整迁移。基于当前的临时方案,工具仅仅移除该关键字。 输入示例
VALUES(单语句多行值插入) INSERT使用 VALUES语法的语句可以插入多行,以逗号分隔。 输入示例 1 INSERT INTO exmp_tb1 (tb1_name,tb1_sex,tb1_address,tb1_number) VALUES('David','male'
java.sql.CallableStatement java.sql.CallableStatement是存储过程执行接口。 表1 对java.sql.CallableStatement的支持情况 方法名 返回值类型 支持JDBC 4 registerOutParameter(int
SQLFreeConnect 在ODBC 3.x版本中,ODBC 2.x的函数SQLFreeConnect已被SQLFreeHandle代替。有关详细信息请参阅SQLFreeHandle。 父主题: ODBC接口参考
动态调用匿名块 动态调用匿名块是指在动态语句中执行匿名块,使用EXECUTE IMMEDIATE…USING语句后面带IN、OUT来输入、输出参数。 语法 语法请参见图1。 图1 call_anonymous_block::= using_clause子句的语法参见图2。 图2 using_clause-4
创建和使用GaussDB(DWS)序列 序列Sequence是用来产生唯一整数的数据库对象。序列的值是按照一定规则自增的整数。因为自增所以不重复,因此说Sequence具有唯一标识性。这也是Sequence常被用作主键的原因。 通过序列使某字段成为唯一标识符的方法有两种: 一种是
案例:选择合适的分布列 分布列用于将数据分布到不同的节点上,划分均衡可以避免数据倾斜。 在进行关联查询时,尽量选择查询中的关联条件作为分布键。当关联条件作为分布键时,相关数据都分布在DN本地,将减少DN之间的数据流动代价,提升查询速度。 优化前 将a作为t1和t2的分布列,表定义如下:
将导出文件发送至指定目录文件夹。如果这里省略,则使用标准输出。 -f /home//backup/MPPDB_schema_backup -p 指定服务器所监听的TCP端口或本地Unix域套接字后缀,以确保连接。 -p 8000 -h “集群地址”如果通过公网地址连接,请指定为集群“公网访
范围分区表添加新分区报错upper boundary of adding partition MUST overtop last existing partition 问题现象 创建范围分区表后增加新的分区,使用ALTER TABLE ADD PARTITION语句报错upper
STATS_PERSISTENT 在MySQL中,STATS_PERSISTENT指定是否为InnoDB表启动持久性统计信息,通过CREATE TABLE或ALTER TABLE语句启动持久性统计信息。DSC迁移时会将该属性删除。 输入示例 1 2 3 4 5 6 7
行列存压缩 GaussDB(DWS)中, 只支持列存表压缩功能,暂不支持行存表压缩功能。优化行列存压缩机制,DSC工具迁移时会根据GaussDB(DWS)的特性进行相应适配。 压缩参数 : table.compress.mode创建新表时,需要在CREATE TABLE语句中指定
缩写关键字迁移 表1列出了Teradata支持的缩写关键字及其语法在GaussDB A和GaussDB(DWS)中对应的语法。 表1 缩写关键字列表 Teradata语法 对应的GaussDB A和GaussDB(DWS)语法 SEL SELECT INS INSERT UPD UPDATE
CLUSTERED KEY 在ADB中,CLUSTERED KEY:聚集索引,定义表中的排序列,聚集索引中键值的逻辑顺序决定了表中相应行的物理顺序。GaussDB(DWS)不支持该属性修改表定义信息,DSC迁移时会将该关键字删除。 输入示例 1 2 3 4 5 6 DROP TABLE