插入数据速度的问题?
有个问题请教大家:
我需要从外部导入数据到数据库中,因为某种原因,我只能自己先在应用程序中读取数据,生成SQL语句,然后再到应用程序中执行插入操作,生成的SQL语句类似
INSERT INTO 表名 (字段名) SELECT 动态生成的字段值
在生成上面语句的时候,有以下三种情况:
1、生成一条语句执行一次;
2、将上面的语句结合UNION ALL语句,等待读取完所有数据后,最后执行一次插入操作;
3、同第2条,区别在于读取固定条数据后执行一次插入操作,比如读取100条数据后操作一次插入操作,如果有1000条数据话,就执行10次插入操作
以上只是我能够想到的操作办法,还没有实际应用,想请大家帮我分析下,以上3种在 理论 上哪一种执行速度更快,或者有其它更好的方法。
谢谢.
------解决方案--------------------直接导入,不用Insert
------解决方案--------------------3
如果数据库在本机的话用OPENDATASOURCE或OPENROWSET会好点,但难处理数据类型问题
------解决方案--------------------直接导入一张临时表,然后整理数据再insert select