• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

C++操作MySQL大量数据插入效率低下的解决方法

c++ 搞代码 4年前 (2022-01-06) 74次浏览 已收录 0个评论

这篇文章主要介绍了C++操作MySQL大量数据插入效率低下的解决方法,需要的朋友可以参考下

通常来说C++操作MySQL的时候,往Mysql中插入10000条简单数据,速度非常缓慢,居然要5分钟左右,
而打开事务的话,一秒不到就搞定了!

具体实现代码如下:

 #include  #include  #include  #include "mysql.h" #pra<strong style="color:transparent">来源gao@daima#com搞(%代@#码@网</strong>gma comment(lib, "libmysql.lib"); using namespace std; int main() { MYSQL mysql; mysql_init(&mysql); // 初始化 MYSQL *ConnStatus = mysql_real_connect(&mysql,"localhost","root","","sky",3306,0,0); if (ConnStatus == NULL) { // 连接失败 int i = mysql_errno(&mysql); string strError= mysql_error(&mysql); cout <<"Error info: "<<strError<<endl; return 0; } cout<<"Mysql Connected..."<<endl; string strsql; MYSQL_RES *result=NULL; // 数据结果集 // 插入操作 strsql = "insert into t1 values(2,'lyb')"; mysql_query(&mysql,"START TRANSACTION"); // 开启事务, 如果没有开启事务,那么效率会变得非常低下! for (int i=0; i<10000; i++) { mysql_query(&mysql,strsql.c_str()); } mysql_query(&mysql,"COMMIT");   // 提交事务 cout<<"insert end"<<endl; //释放结果集 关闭数据库 mysql_free_result(result); mysql_close(&mysql); mysql_library_end(); return 0; } 

总结:

在针对大量数据的插入,更改等操作时,应该开启事务,待一连串的操作结束之后,再提交事务,可提高程序执行效率

以上就是C++操作MySQL大量数据插入效率低下的解决方法的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:C++操作MySQL大量数据插入效率低下的解决方法
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址