性能调优一块C#/ SQL代码

时间:2015-09-08 13:28:08

标签: c# sql-server

我有以下代码,到目前为止,但我想知道它是否可以以任何方式改进,无论是为了速度还是为了防止任何潜在的其他问题。日志数据结构可以包含数十万个项目。

public void Save()
{
    foreach (var v in _log_data)
    {
        string query = @"INSERT INTO TransactionLog ( DataType, UserName, UserEmail, UserCountry, [DateTime])
                         VALUES ({0}, {1}, {2}, {3}, {4})";
        _ctx.ExecuteCommand(query,  v.DataType, v.UserName, v.UserName, v.UserCountry,  v.DateTime);
    }
}

1 个答案:

答案 0 :(得分:1)

使用SqlBulkcopy:

        var sbCopy = new SqlBulkCopy("myConnectionString")
        {
            DestinationTableName = tableName,
            BatchSize = 100000
        };

        sbCopy.WriteToServer(_log_data.AsDataReader());

AsDataReader()方法来自EntityDataReader Extensions