首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

oracle10 万万级数据存取优化

2013-03-06 
oracle10 千万级数据存取优化[list]今天对一个存有1000万数据的大表进行了优化,尽是简单的优化,效果很明显

oracle10 千万级数据存取优化
[list]

     今天对一个存有1000万数据的大表进行了优化,尽是简单的优化,效果很明显。下面把自己的优化经过简单总结备忘一下。
     1:创建表的备份,把生产表的querySql copy后修改table 为temp_tbl
     2:从原有表中copy 数据插入到temp_tbl中语句如下
       insert into temp_tbl select * from source_tbl
     3:查看表数据量
       selct count(1) from temp_tbl
     4:查看表所在空间大小
       select segment_name, bytes/1024/1024/1024 from user_segments
       where segment_NAME = 'TEMP_TBL';
     5:查看当前表索引
       select * from user_indexes where TABLE_Name = 'TEMP_TBL'
     6:利用存储过程做基数数据准备
    

  


     8:插入操作情况如下
   峰值 内存占用达85% ,上下文切换较高 , 100次插入,成功96 ,失败4个

     耗时(秒)线程数
     0-6017
     0-7031
     0-10048
     成功96
    
  利用hints  /*+APPEND*/ 做插入,不删除外键索引 ,执行情况如下:
     耗时(秒)线程数
     0-1035
     0-2041
     0-3024
     成功100
  
    去掉外键索引后的执行情况如下:
     耗时(秒)线程数
     0-18
     0-212
     0-324
     0-443
     0-513
    成功100

     8:100个线程做关联查询查询操作(单次查询数据位10000)情况如下
     没有添加任何索引的查询结果
     耗时(秒)线程数
     0-4013
     0-5070
     0-6017
  
     添加索引后 100个线程都在1秒内完成查询操作
  
  


     总结:为了提高插入速度 用刀了hints 中的/*+APPEND*/  从表中末尾追加,避免对索引过多维护消耗时间;
           为了提高查询的速度,增加了一个外键索引。



     对于hint 和索引的细节 还请百度 或是google ,小生了解有限。





      

热点排行