本文主要是介绍ORACLE表大量delete删除后查询变慢,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
sys_log日志表中有几千万条历史数据,用delete全部删除后,使用 select * from sys_log 查询需要10多秒,一条数据都没有查询也需要10多秒,速度跟之前还是差不多。
原因是该表的空间大了,数据虽然被删除了,但是表空间还是很大,查询起来很慢。
解决的方法是把该表所占用的表空间缩小,或者说释放表空间。
解决方案:对sys_log表进行表空间压缩和索引重建
压缩表空间语句: alter table sys_log move重建索引语句:alter index 索引名称 rebuild压缩后查询:select * from sys_log 变成0.1秒
这篇关于ORACLE表大量delete删除后查询变慢的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!