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

插入数据速度的问题?
有个问题请教大家:

我需要从外部导入数据到数据库中,因为某种原因,我只能自己先在应用程序中读取数据,生成SQL语句,然后再到应用程序中执行插入操作,生成的SQL语句类似

  INSERT   INTO   表名   (字段名)   SELECT   动态生成的字段值

在生成上面语句的时候,有以下三种情况:
1、生成一条语句执行一次;
2、将上面的语句结合UNION   ALL语句,等待读取完所有数据后,最后执行一次插入操作;
3、同第2条,区别在于读取固定条数据后执行一次插入操作,比如读取100条数据后操作一次插入操作,如果有1000条数据话,就执行10次插入操作


以上只是我能够想到的操作办法,还没有实际应用,想请大家帮我分析下,以上3种在     理论   上哪一种执行速度更快,或者有其它更好的方法。

谢谢.


------解决方案--------------------
直接导入,不用Insert
------解决方案--------------------
3
如果数据库在本机的话用OPENDATASOURCE或OPENROWSET会好点,但难处理数据类型问题
------解决方案--------------------
直接导入一张临时表,然后整理数据再insert select