C#大批量数据插入MySQL数据库的性能问题
来源:互联网 发布:免费注册公司域名 编辑:程序博客网 时间:2024/06/05 16:25
1.将表的引擎设为myisam
2.每1000条数据提交一次
这个是sqlite数据库批量插入的解决方案,可参考思路
最近处理一个将csv内容导入到sqlite数据库中,使用了事务(BEGIN TRANSACTION; sql语句; COMMIT;)
测试发现一次1000条导入,反而比10000条导入要快,总共6万多条数据,整下下来竟然快有6分钟,真是奇怪
var iCount = 0;
var dDataTime = DateTime.Now;
var mCsvHelp = new CsvHelper();
var mDataTable = mCsvHelp.GetCsvData(@"E:\", "scrm_friend");
var mSql = new StringBuilder();
var conn = new SQLiteConnection(@"Data Source=E:\mydatabase.db");
SQLiteCommand command;
conn.Open();
for (var i = 0; i < mDataTable.Rows.Count; i++)
{
var mRows = mDataTable.Rows[i];
mSql.Append("Insert Into scrm_friend (friendid,userid,friendname,phone) values(" + mRows[0] + "," +
mRows[1] + ",'" + mRows[2] + "','" + mRows[3] + "');");
iCount = iCount + 1;
if (iCount > 1000)
{
command = new SQLiteCommand
{
Connection = conn,
CommandText = "BEGIN TRANSACTION;" + mSql + "COMMIT;"
};
command.ExecuteNonQuery();
mSql.Remove(0, mSql.Length);
iCount = 0;
}
}
command = new SQLiteCommand
{
Connection = conn,
CommandText = "BEGIN TRANSACTION;" + mSql + "COMMIT;"
};
command.ExecuteNonQuery();
MessageBox.Show((DateTime.Now - dDataTime).ToString());
- C#大批量数据插入MySQL数据库的性能问题
- c#大批量数据插入
- MYSQL 大批量数据插入
- 大批量数据的插入
- MySQL 数据库删除大批量数据的优化
- 转载自大牛的博文-解决大批量插入数据到数据库中的问题
- 数据库大批量SQL插入性能优化
- 并发链接,大批量写入数据的mysql插入优化
- 使用 SqlBulkCopy大批量插入数据到数据库
- Android数据库大批量数据插入优化
- MySQL快速插入大批量数据存储过程
- C# SqlBulkCopy类大批量数据存入数据库
- 大批量高效插入数据库的方法
- 大批量数据导入mysql数据库使用工具
- c#缓存机制,用于大批量连接数据库的性能优化,可减少对数据库的消耗。
- java大批量插入数据
- Oracle大批量插入数据
- 大批量数据插入
- How to debug asp.net mvc 4 source code?如何调试asp.net mvc4 源代码?
- UNICODE下宽字符的CString转换为const char *和char到WCHAR的相互转换
- oracle数据库的搭建初步
- C# 创建windows服务
- VS2010 UML类图生成代码
- C#大批量数据插入MySQL数据库的性能问题
- 获得Unix/Linux系统中的IP、MAC地址等信息[zhuan]
- android property
- struts2验证框架
- flex viewer
- 编译inkscape准备
- (转)VC++多线程编程
- virtualbox中访问默认挂载的shared folder时permission denied
- TestLink部署与介绍