日期:2014-05-17  浏览次数:20772 次

表里没数据,查询很慢
有一张表,本来里面有一些数据有20多万,没删数据之前查询什么的都很迅速,很正常。但是删除数据,就是delete from tablename,这时表里没有数据了,怎么再select怎么明显速度很慢了呀?

------解决方案--------------------
truncate table table_name;
后再查询看看,时间怎么样。难道是传说中的高水位?
------解决方案--------------------
用truncate table table_name 能删除高水位的

delete table table_name 虽然能删除记录 但是空间会被占用的 得用truncate table table_name 进行删除
------解决方案--------------------
删除表后做过表分析么?没有做过的话建议你做一下
------解决方案--------------------
就是说假设你表里有100M的数据
现在你虽然删除了70M数据 还剩30M
可是现在ORACLE在进行查询的时候仍然会查询100M的空间(其实其中有70M是空的)
这是因为高水位还在100M那个地方

你使用上面朋友说的那个命令
truncate table table_name;
试试
这个命令可以把高水位从100M降到30M的地方
这样在查询的时候只用扫描30M的空间