什么是高水位线:
就是数据一条一条插到数据块里面了,会记录一个最高的位置,就想象一下东西堆桶里了,越堆越高,最高的地方标一下最高位置,然后你把东西拿走了,最高位置还在那里,不会因为你东西少了就降下来了,就和delete一样,不会因为数据被delete了,高水位线就降下来了,这样有什么不好的地方呢,就是每次全表扫描的时候,就要扫很多多余的空块,造成资源浪费,就很没必要,所以对于频繁delete的表还不收集碎片的,全表扫描就会多那么些开销
降低高水位线的几个方法
1.TRUNCATE
将表数据备份到临时表里面,TRUNCATE掉源表,再将备份表数据INSERT到源表中
这里可以用分区交换的方式避免大量的insert
2.MOVE
ALTER TABLE table_name MOVE;
这样做,会使得索引失效,需要重新维护索引
3.SHRINK
ALTER TABLE table_name SHRINK SPACE CASECADE
具体的明天再研究,今天先研究多年前立下的flag->游标
http://blog.itpub.net/26736162/viewspace-2139546/
drop分区表的分区是不会出现高水位线的问题的