oracle9.2如何在不使用TRUNCATE语句的情况下拉回高水位线(High 删除1KW多余数据后,EXPORT出来.然后TRUNCATE,再IMPORT进来.索引也REBUILD下.维护工作经常这么干.
oracle设置水位线有什么作用,或者说有什么好处?请给解释一下,谢谢了。 高水位线的意思是oracle数据块历史使用空间的最高点,好处就是比如做全表扫描的话,有了高水位线,全表扫描只会扫描到水位线处,再向上就不会扫描了,因为根本没有数据,所以对oracle查询性能是有一定的帮助的,另外如果一个表做过大量的delete操作的话,需要定时shrink,因为delete不回收高水位,下次做全表扫描的时候还会扫描到高水位线,但其实高水位以下很多都是free的空间,会影响全表扫描的性能,这也是如果你想删除表中所有数据时最好用truncate的原因,因为truncate回收高水位。
很精辟的oracle高水位线,终于知道DELETE和TRUNCATE为什么不一样 两个操作都是删除表数据的但是实际却又很大的不同delete只是单纯的删掉表里的数据,他可以添加删除条件,但是不会将空间回收,删除的时候有记录日志,方便恢复,但是速度比较慢truncate table是全表清空的操作,回收空间,无日志,基本上是不可恢复的