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

大批量数据库安插

2013-07-04 
大批量数据库插入有两个基础数据表映射表ID映射IDXXX111YYY222ZZZ333详细表IDnameXXX鞋子ABC衣服YYY电脑ZZ

大批量数据库插入
有两个基础数据表

映射表
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条数据会不会让数据库崩溃,或者说效率低下呢? 这种情况我应该怎么处理? 


  
[解决办法]

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

弱弱的问下,用SQL 作业处理这样的工作和你说的 “SSIS,ETL”有啥区别?


SSIS比较常用的背景是在BI的ETL过程,区别我也一时间说不了,但是BI这种大数据量抽取一般都会选择用SSIS而不用作业。
[解决办法]
可以考虑采用SSIS实现,难度不大,如楼主这个映射表,可以合理使用SSIS中的Cache Transform(缓存转换),可减少数据库的负荷。
学习SSIS可以参考<SSIS学习视频(SQL Server 2008)>:
http://www.cnblogs.com/wghao/archive/2013/05/06/3061984.html

热点排行