使用c/c++编程插入MySQL数据库效率底下的解决方案

来源:互联网 发布:淘宝如何改密码修改 编辑:程序博客网 时间:2024/06/05 10:03

在最近编程对MySQL数据库进行插入(使用的是mysql原生API)的时候发现效率非常的低,实验环境是在插入1w行代码包括一些处理的时间开销是200s左右,

而不执行插入操作的话只需要0.11s程序就可以运行结束。

经过搜索,在批量插入之前执行mysql_query(con, "set autocommit=0");

在批量插入语句执行结束后执行:mysql_query(con, "commit");   mysql_query(con, "set autocommit=1");

就这三句对性能起到了非常巨大的提升,改进后运行时间为1-1.5s左右,可以说是提高了两个数量级。


这里的原理是这样子的,我们先将要执行的sql语句提交给MySQL,但是MySQL不会马上执行而是进行储存,等到我们执行第二句的时候才开始集中执行MySQL语句,

所以性能有了非常大的提升。最后一句是恢复默认设置,这一句也很关键,如果没有这一句后面程序将不能正常运行。

0 0
原创粉丝点击