检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
dbinfo.properties配置 dbinfo.properties文件中包括一系列应用配置参数,用于连接源端数据库和目标dws数据库,该文件中的参数为通用参数。 设置方法如下。 打开conf文件夹中的dbinfo.properties文件。 根据实际需要修改dbinfo.properties文件中参数的值。
准备工作 在迁移之前必须先创建输入文件夹和输出文件夹,并将待迁移的所有SQL脚本复制到输入文件夹中。Linux系统操作如下: 创建输入和输出文件夹。您可以根据用户的首选项在任意位置创建文件夹。用户也可以使用默认的文件夹作为输入、输出,作为包的一部分提供。 1 2 mkdir input
删除指定的外表。 注意事项 DROP FOREIGN TABLE会强制删除指定的外表,删除外表后,依赖该外表的索引会被删除,而使用到该外表的函数和存储过程将无法执行。 语法格式 1 2 DROP FOREIGN TABLE [ IF EXISTS ] table_name [
在创建存储过程时,存储过程内部通过SET语句设置current_schema和search_path无效。执行完函数search_path和current_schema与执行函数前的search_path和current_schema保持一致。 如果存储过程参数中带有出参,SELE
SQL执行计划中每一个步骤为一个数据库运算符,也叫作一个执行算子。GaussDB(DWS)中算子是基本的数据处理单元,合理地组合算子、优化算子的顺序和执行方式,可以提升数据的处理效率。 GaussDB(DWS)算子可分为:扫描算子、控制算子、物化算子、连接算子、其他算子等。 扫描算子 扫描
indow agg,占到总执行时间95%以上,系统资源不能充分利用。研究发现该场景的特点是:将两列分别求sum作为一个子查询,外层对两列的和再求和后做trunc,然后排序。可以尝试将语句改写为子查询,使排序下推。 优化前 表结构如下所示: 1 2 CREATE TABLE public
过程可以控制上下文区域的变化。 当游标作为存储过程的返回值时,如果使用JDBC调用该存储过程,返回的游标将不可用。 游标的使用分为显式游标和隐式游标。对于不同的SQL语句,游标的使用情况不同,详细信息请参见表1。 表1 游标使用情况 SQL语句 游标 非查询语句 隐式的 结果是单行的查询语句
分析查询是否被阻塞,导致语句运行时间过长,可以强制结束有问题的会话。 审视和修改表定义。选择合适的分布列,避免数据倾斜。 分析SQL语句是否使用了不下推的函数,建议更换为支持下推的语法或函数。 对表定期执行VACUUM FULL和ANALYZE操作,可回收已更新或已删除的数据所占据的磁盘空间。
L中无任何createtime的筛选和过滤条件,基本可以确认是由于慢SQL的计划没有走分区剪枝,导致了全表扫描,对于185亿条数据量的表,全表扫描性能会很差。 处理方法 在慢SQL的过滤条件中增加分区筛选条件,避免走全表扫描。 优化后的SQL和执行计划如下,性能从十几分钟,优化到了12秒左右,性能有明显提升。
导入数据>通过外表并行导入>安装配置和启动GDS”章节。 脚本需要在python 3环境下运行。 必须在root用户下执行脚本。 必须指定-t、--host参数。 当--host指定网络地址0.0.0.0或127.0.0.1时,不会检查MTU和网卡多队列。 网卡多队列的检查、修复要求网卡至少是万兆。
通过在WHERE条件中对表B的所有字段使用外连接操作符“+”,表A和B的左外连接返回表A中的所有行和所有满足关联条件的行。 通过在WHERE条件中对表A的所有字段使用外连接操作符“+”,表A和B的右外连接返回表B中的所有行和所有满足关联条件的行。 GaussDB(DWS)不支持“+”操作符。该操作符的功能通过LEFT
在创建存储过程时,存储过程内部通过SET语句设置current_schema和search_path无效。执行完函数search_path和current_schema与执行函数前的search_path和current_schema保持一致。 如果存储过程参数中带有出参,SELE
排序试图针对特定查询衡量文档的相关度,从而将众多的匹配文档中相关度最高的文档排在最前。GaussDB(DWS)提供了两个预置的排序函数。函数考虑了词法,距离,和结构信息;也就是,考虑查询词在文档中出现的频率、紧密程度、以及出现的地方在文档中的重要性。然而,相关性的概念是模糊的,并且是跟应用强相关的。
删除指定的外表。 注意事项 DROP FOREIGN TABLE会强制删除指定的外表,删除外表后,依赖该外表的索引会被删除,而使用到该外表的函数和存储过程将无法执行。 语法格式 1 2 DROP FOREIGN TABLE [ IF EXISTS ] table_name [
参数列表可以用符号“:=”或者“=>”将参数名和参数值隔开,这种方法的好处是参数可以以任意顺序排列。若参数列表中仅出现参数值,则参数值的排列顺序必须和函数或存储过程定义时的相同。 取值范围:已存在的函数参数名称或存储过程参数名称。 参数可以包含入参(参数名和类型之间指定“IN”关键字)和出参(参数名和类型之间指定
变量定义语句。每行应只包含一条语句。 同一层的IF、ELSEIF、ELSE和END关键字应开始于同一列,执行语句缩进。 CASE和END关键字应位于同一列,WHEN和ELSE关键字应缩进。 同一层的LOOP和END LOOP关键字应位于同一列,层内语句或嵌套应依次缩进。 父主题:
表出现在join的两端,都会触发hint。例如:设置hint为rows(t1 t2 * 3),对于(t1 t3 t4)和(t2 t5 t6)join时,由于t1和t2出现在join的两端,所以其join的结果集也会应用该hint规则乘以3。 rows hint支持在单表、多表、function
案例:建立合适的索引 创建合适的索引可以加速对表中数据行的检索。索引占用磁盘空间,并且降低添加、删除和更新行的速度。如果需要非常频繁地更新数据或磁盘空间有限,则需要限制索引的数量。在表较大时再建立索引,表中的数据越多,索引的优越性越明显。建议仅在匹配如下某条原则时创建索引: 需要经常执行查询的字段。
END LOOP; END; / --调用函数 CALL proc_while_loop(10); --删除存储过程和表 DROP PROCEDURE proc_while_loop; DROP TABLE integertable; FOR_LOOP(integer变量)语句
SQL执行计划中每一个步骤为一个数据库运算符,也叫作一个执行算子。GaussDB(DWS)中算子是基本的数据处理单元,合理地组合算子、优化算子的顺序和执行方式,可以提升数据的处理效率。 GaussDB(DWS)算子可分为:扫描算子、控制算子、物化算子、连接算子、其他算子等。 扫描算子 扫描