一次向一个表中插入多条数据,SQL应该如何样写效率最好

如题所述

第1个回答  2013-10-24
------解决方案--------------------------------------------------------你那些 SELECT xx,xx,xx,xx,xx 是从几个表里查出来?如果是一个表的话直接用一个SELECT把所有的查出来,一次性插进去,就不需要用UNION ALL了,如果从不同的表的话可以那样做.
------解决方案-------------------------------------------------------- 分开写快
但可放在一起执行.
------解决方案--------------------------------------------------------C# code Sqlconnection connection=new SqlConnection(); string sql="INSERT Biao SELECT xx,xx,xx,xx,xx UNION ALL SELECT xx,xx,xx,xx,xx UNION ALL SELECT xx,xx,xx,xx,xx UNION ALL SELECT xx,xx,xx,xx,xx"; SqlComand command=new SqlCommand(sql,connection); connection.Open(); int count=command.ExecuteNonQuery(); connection.Close();
------解决方案--------------------------------------------------------探讨分开写快
但可放在一起执行.
------解决方案--------------------------------------------------------都差不对!!
------解决方案--------------------------------------------------------存储过程效率高
------解决方案--------------------------------------------------------都差不多
------解决方案--------------------------------------------------------批量的搞法,可以这样,一次insert一条,用 insert into table(...) values(...) 的方法,可以积攒到 1000 条左右的时候再去提交,这样比插入一条提交一条的速度要快一些,但不是很明显。
------解决方案--------------------------------------------------------不是太影响速度,随意吧
------解决方案--------------------------------------------------------探讨分开写快
但可放在一起执行.
------解决方案--------------------------------------------------------探讨分开写快
但可放在一起执行.
------解决方案--------------------------------------------------------SQL code declare @x int set @x=0; while (@x本回答被提问者采纳