SQL TUNING/PDML/NOLOGGING TO DML

解决方案 »

  1.   

    1、建立索引
    2、建立一张新表,内容为不需要改动的数据 create table XXXX as select * from old_tab where 不需要修改
    3、插入需要修改的数据新值,注意NOLOGGING
    4、将表改名 
      

  2.   

    100万不多,查询速度还是很快的,
    一般不含大型字段的话,1000万内是没有必要分区,只要有合理的索引查询速度就能跟上。
    如果记录超过1000万,建议分区,这样的检索速度也不会因为记录数的增多而慢下来
    update,insert,delete就该重新讨论了,因为这三个语句与索引有关系,
    如update通过索引更新(特别是rowid),速度会很快,但是过多的索引而你又更新了索引,速度又会有一定影响,具体要实际分析。
    insert没有索引的速度是最快的,有索引速度会下降,特别是索引很多而又有批量插入的情况下需要重新考虑,可以先sisable约束,然后插入,可以先删除索引,然后重建,很多做法都要与实际情况相联系
    delete与update类似
    还有一个问题,在常见的两类索引(B_tree and bitmap)中,如果更新频繁的表(OLTP系统)中,最好不要建立bitmap索引,否则,性能会显著下降
      

  3.   

    nmgwjf(吴建峰) 
    怎样插入数据时 nologing ?