当前位置: 主页 > 数据库

oracle数据库突然变慢-脚突然变臭 身体变好了

发布时间:2023-02-08 22:23   浏览次数:次   作者:佚名

下面这篇文章重点分析Oracle SQL执行慢的原因。 如果Oracle数据库中某张表的相关数据超过2亿条,同时这张表还创建了4条相关的独立关联索引。 由于业务需要,每天两次需要向这张表中插入300万条记录。

由于数据量大,每次插入需要3个多小时,严重影响效率。

oracle数据库突然变慢_oracle 查询慢_脚突然变臭 身体变好了

因此,修改了系统的算法,该表只存储当天的新记录。 truncate这张表后,第二天要对这张表进行update操作oracle数据库突然变慢,非常耗时。 当表中数据超过2亿条时oracle数据库突然变慢,这条Oracle SQL语句耗时59秒; 当表中有300万条数据时,这条Oracle SQL语句需要几个小时。

咨询过DBA后,得出的结论是需要重建索引。 重建后,6秒做这个。 但是第三天问题依旧。 DBA 正在查找原因。 每次truncate table都需要重建索引吗?

脚突然变臭 身体变好了_oracle 查询慢_oracle数据库突然变慢

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

最后,DBA给出的解决方案:

脚突然变臭 身体变好了_oracle数据库突然变慢_oracle 查询慢

  1. truncate table ....  
  2. drop index.....  
  3. insert data .....  
  4. create index ...  
  5. analyze table table_name compute statistics;  

重新生成统计信息

脚突然变臭 身体变好了_oracle 查询慢_oracle数据库突然变慢

调整后,整个操作只需要很少的时间。

以上相关内容是对Oracle SQL执行慢分析的介绍,希望大家有所收获。

脚突然变臭 身体变好了_oracle数据库突然变慢_oracle 查询慢

【编辑推荐】

Oracle数据库索引优缺点介绍 Oracle使用游标触发器实际存储过程 Oracle使用相关触发器实现自增IDOracle视图修改其最大游标数 解决Oracle删除数据后释放表空间问题