有两个基础数据表映射表
ID       映射ID
XXX       111
YYY       222
ZZZ       333详细表
ID      name
XXX      鞋子
ABC      衣服
YYY      电脑
ZZZ      书籍每天都有大概非常多条详细表的数据进入到数据库(每天大概有500W条),我需要对详细表做一些清洗做分析用(ID 在映射表中没有的不要),让里面的数据copy到另外一个数据表里面分析表映射ID     name
111      鞋子
222      电脑
333      书籍
.....用作业每天晚上执行上面的操作,我想用 insert into  select  操作,但是一次插入500W条数据会不会让数据库崩溃,或者说效率低下呢? 这种情况我应该怎么处理? 
  

解决方案 »

  1.   

    没有压力的情况下倒不至于奔溃掉,不过你这个需求可以用SSIS来实现啊,已经算比较典型的ETL过程了
      

  2.   

      没有压力的情况下倒不至于奔溃掉,不过你这个需求可以用SSIS来实现啊,已经算比较典型的ETL过程了弱弱的问下,用SQL 作业处理这样的工作和你说的 “SSIS,ETL”有啥区别?
      

  3.   


    弱弱的问下,用SQL 作业处理这样的工作和你说的 “SSIS,ETL”有啥区别?
    SSIS比较常用的背景是在BI的ETL过程,区别我也一时间说不了,但是BI这种大数据量抽取一般都会选择用SSIS而不用作业。
      

  4.   

    lz 关于SSIS中的ETL抽取操作,包含的内容还是比较多的。
    建议楼主看看相关资料
      

  5.   

    可以考虑采用SSIS实现,难度不大,如楼主这个映射表,可以合理使用SSIS中的Cache Transform(缓存转换),可减少数据库的负荷。
    学习SSIS可以参考<SSIS学习视频(SQL Server 2008)>:
    http://www.cnblogs.com/wghao/archive/2013/05/06/3061984.html