"对于 oracle 数据库的,只有单个表的脚本数据集优化问题 目前问题是对于数据量 600 万左右(表中所有数据有上千万条)的报表查寻速度慢,里边涉及很多字段的这种应该怎么用脚本数据集优化呢? .."
对于 oracle 数据库的,只有单个表的脚本数据集优化问题目前问题是对于数据量 600 万左右(表中所有数据有上千万条)的报表查寻速度慢,里边涉及很多字段的这种应该怎么用脚本数据集优化呢?具体的优化方案是什么呢?
如果是 ORACLE 的 SQL 慢,脚本数据集在外围,也起不到啥作用(这时候只能解决难写的问题)。通常的办法是把数据搬出来,换成文件列存马上就能快几倍 SPL 轻量级文件存储提速查询实践这里 case when 和 in 一大堆,改成枚举化整数会快很多,上面链接里也都有写
先使用自增 ID 标识排序,然后使用 SQL 分页查询,利用 SPL 的循环传入页码,再在循环里面 for, 做 case 和数据分类计算(这个计算可以用你的这个 SQL 接收到的唯一参数单条或者 for/fork 进行处理或者是直接使用 SPL 计算),然后拼接 insert 到一个 create 临时表里面,然后 return 返回计算结果!
你的条件 where like 和 IN 数据多的话,很耗性能,like 可以用 instr 替换(替换前需要校验是否可行且正确)
如果是 ORACLE 的 SQL 慢,脚本数据集在外围,也起不到啥作用(这时候只能解决难写的问题)。
通常的办法是把数据搬出来,换成文件列存马上就能快几倍 SPL 轻量级文件存储提速查询实践
这里 case when 和 in 一大堆,改成枚举化整数会快很多,上面链接里也都有写
先使用自增 ID 标识排序,然后使用 SQL 分页查询,利用 SPL 的循环传入页码,再在循环里面 for, 做 case 和数据分类计算(这个计算可以用你的这个 SQL 接收到的唯一参数单条或者 for/fork 进行处理或者是直接使用 SPL 计算),然后拼接 insert 到一个 create 临时表里面,然后 return 返回计算结果!
你的条件 where like 和 IN 数据多的话,很耗性能,like 可以用 instr 替换(替换前需要校验是否可行且正确)