数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

oracleSQL执行缓慢的分析


发布日期:2021年10月29日
 
oracleSQL执行缓慢的分析

问题描述

oracle数据库中一张表的数据已经亿多而且此表创建了个独立的索引由于业务需要每天需分两次向此表中插入万条记录由于数据量大每次插入耗时个小时以上严重影响效率因此修改了系统的算法将此表中只存储当天新增记录将此表truncate后第二天执行对此表的update操作时非常耗时表中有亿多条数据的时候此sql语句耗时表中有万条数据的时候此sql语句耗时几个小时咨询DBA后得出结论需重建索引重建后秒完成此操作但第三天问题依然出现DBA正在查找原因难道每次truncate表都需要重建索引?

对于这个问题DBA也没有给出合理的解释推测主要原因是oracle复杂的查询优化算法

最终DBA给出的解决方案

truncate table

drop index

insert data

create index

analyze table table_name compute statistics;//重新生成统计数据

调整后整个操作耗时非常少

上一篇:关于oracle中大对象处理的一些方法和实例

下一篇:ORACLE常用傻瓜问题1000问全集(七)