none
SQL大数据量导入效率的问题,请教! RRS feed

  • 问题

  •  SET @sqlstring = 'BULK INSERT TB_RADIUS FROM ''D:\Wwwroot\wwwroot\tmp\1.txt'' WITH (FIELDTERMINATOR = ''~'', FIRSTROW=2, ROWTERMINATOR = '''+CHAR(10)+''')'
     EXECUTE(@sqlstring)

    请教

    1 使用以上语句,34W的记录, 第一次导入27秒,第二次21秒,是否正常。

    2 有没有更快的语句?

    3 使用BULK INSERT 指定XML的格式,与不指定效率上有什么区别

    4 使用BULK INSERT 如果导入字段与库目标字段不一致,是否有办法?

    谢谢了


    上善若水 厚德载物
    2011年12月20日 4:13

答案

  • 1. depends on many factors, have to benchmark on each server. 

    2. can try bcp and ssis then compare.

    3. do you load xml data?

    4. better to reorg data file to make it match table column order.

    Other things to check: does table have index (can test if loading without index is faster)? Does table have clustered index (data in the file should be ordered by that column)? Data file is on local or remote disk? ... 

    2011年12月20日 4:33