日期:2014-05-18  浏览次数:20465 次

批量插入50万行,请帮忙提出最优化建议~~谢大家
A表有500万行   结构如下:

id     姓名             其他
1       ac                   .
2       dfdg               .
3       ddfd               .
4       rhfag             .
.       .                     .
.       .                     .


现在要把A表中的“姓名”列前50万行提取出来插入到另外一个表B中,表B有20列。

其中插入表B其他列的值都固定,除了“姓名”列是A表中的。如插入后形同:
B表:

lid     单位     姓名       .....   其他
1         aaa       ac                       ccc
2         aaa       dfdg                   ccc
3         aaa       ddfd                   ccc
.         .             .
.         .             .


用存储过程   请问怎么样能达到最优化的效率?
谢谢~~



------解决方案--------------------
insert B select ...

这有什么可优化的?
------解决方案--------------------
insert into b(lid , 单位 , 姓名 , ..... 其他)
select top 500000 id , 单位 = 'aaa ' , 姓名 .... 其他 = 'ccc ' from a