oracle 一次导出,drop 掉数据库,重新建库,再导入,算是一次优化吧?这样的优化有多大意义?

解决方案 »

  1.   

    难道对数据碎片有效?只是,这种不叫优化,叫闲着慌、研究一下oracle吧。
      

  2.   

    上次听课说,提出数据优化时,通过导出表,再truncate掉,然后再insert表里,
    因为最初表里数据是随机存放的,通过再次插入,存放的时候是有规律的存放。
    所以有性能上的提升。
    难道不是这样的吗?
      

  3.   

    有规律的存放,难道你插入数据之前,oracle已经帮你对源数据,进行order by了
      

  4.   

    经常对表进行insert,delete 操作表的HWM在不断的增加,并且表中因为DELETE操作可能存在许多的碎片。如果你对表查询的时候,是对表全表扫描这样ORACLE会从SEGMENT的头部一直扫到HWM,这样会扫到很多不需要扫描的数据,这样查询效率会降低。 如果按你上面的方法导出表,在TRUNCATE表,然后在导入表,这时候表的HWM降低了,由于DELETE产生的碎片消失了,你在执行全部扫描时,效率会比你之前的要高。而不是你说的存放的有规律造成的数据性能提升。
      

  5.   

    还有就是ORACLE 往数据块里插数据并不是顺序插的,除非你的表是簇表