zoukankan      html  css  js  c++  java
  • C++操作MySQL大量数据插入效率低下的解决方法

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

  • 相关阅读:
    寒假学习记录19
    寒假学习记录18
    寒假学习记录17
    寒假学习记录16
    寒假学习记录15
    寒假学习记录14
    寒假学习记录13
    寒假学习记录12
    寒假学习记录11
    学习进度(10)
  • 原文地址:https://www.cnblogs.com/MyNameIsMT/p/4204957.html
Copyright © 2011-2022 走看看