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

 更新时间:2014年07月25日 08:54:51   投稿:shichen2014  
这篇文章主要介绍了C++操作MySQL大量数据插入效率低下的解决方法,需要的朋友可以参考下

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

具体实现代码如下:

#include <iostream>
#include <winsock2.h>
#include <string>

#include "mysql.h"

#pragma 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;
}

总结:

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

相关文章

  • VS C++头文件引用提示“未定义标识符”的问题解决

    VS C++头文件引用提示“未定义标识符”的问题解决

    本文主要介绍了VS C++头文件引用提示“未定义标识符”的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • 使用MySQL编程实现C语言功能强大化步骤示例

    使用MySQL编程实现C语言功能强大化步骤示例

    这篇文章主要为大家介绍了使用MySQL编程实现C语言功能强大化步骤示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • C++迭代器失效问题及解决

    C++迭代器失效问题及解决

    这篇文章主要介绍了C++迭代器失效问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • 一文掌握 C++ 智能指针的使用方法

    一文掌握 C++ 智能指针的使用方法

    C++11 引入了智能指针的概念,使用了引用计数的想法,让程序员不再需要关心手动释放内存。关于C++指针得内容下面文章将为大家做一个详细介绍
    2021-09-09
  • C++ Qt QColorDialog使用方法

    C++ Qt QColorDialog使用方法

    本文主要介绍了C++ Qt QColorDialog使用方法,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • C语言 详细分析结构体的内存对齐

    C语言 详细分析结构体的内存对齐

    C 数组允许定义可存储相同类型数据项的变量,结构是 C 编程中另一种用户自定义的可用的数据类型,它允许你存储不同类型的数据项,本篇让我们来了解C 的结构体内存对齐
    2022-03-03
  • 一文带你入木三分地理解字符串KMP算法以及C++实现

    一文带你入木三分地理解字符串KMP算法以及C++实现

    KMP算法是一种改进的字符串匹配算法,KMP算法的核心是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。本文就来和大家聊聊KMP算法的原理与实现,需要的可以参考一下
    2022-12-12
  • C++异步调用方法详解

    C++异步调用方法详解

    这篇文章主要介绍了C++异步调用方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-05-05
  • C++顺序表的基本操作(使用模版类)

    C++顺序表的基本操作(使用模版类)

    这篇文章主要为大家详细介绍了C++顺序表的基本操作,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-04-04
  • VC创建圆角dialog的实现方法

    VC创建圆角dialog的实现方法

    这篇文章主要介绍了VC创建圆角dialog的实现方法,结合实例形式分析了圆角dialog对话框的创建步骤与相关操作技巧,需要的朋友可以参考下
    2016-08-08

最新评论