1. 使用事务来插入:
使用拼接sql的方法,在批量插入的时候,mysql支持这种语法
insert into table values (a,b,c),(a1,b1,c1),...
这种方法在拼接字符串之后,执行sql语句都会在一个事务当中执行
查询网上的说法,每个事务中执行500或者1000左右需要提交一次事务,这样性能不会有所下降,也防止因为事务中的sql语句过多有错误回滚,没错的也插入不了,代码参考如下
public static void MySqlExcuteBatch(List sqlList, string conStr)
{
using (MySqlConnection conn = new MySqlConnection(conStr))
{
using (MySqlCommand cmd = new MySqlCommand())
{
cmd.Connection = conn;
cmd.CommandType = CommandType.Text;
if (conn.State != ConnectionState.Open)
conn.Open();
MySqlTransaction tx = conn.BeginTransaction();
cmd.Transaction = tx;
try
{
for (int n = 0; n < sqlList.Count; n++)
{
string strsql = sqlL