c中往mysql里批量插入上万条数据,有比较高效的方法吗

首先, 插入上万条数据,对于数据库来说并不是“很大”的工作量,一般配置的笔记本电脑都可以在1分钟内完成。 所以最简单、最灵活的办法还是写SQL语句。如果不希望DB编译器每次执行都编译SQL的话,可以使用存储过程,直接调用,性能上会好很多。也比较简单。(几万条数据怎么地也得要时间去处理,所以不...
c中往mysql里批量插入上万条数据,有比较高效的方法吗
首先, 插入上万条数据,对于数据库来说并不是“很大”的工作量,一般配置的笔记本电脑都可以在1分钟内完成。 所以最简单、最灵活的办法还是写SQL语句。

如果不希望DB编译器每次执行都编译SQL的话,可以使用存储过程,直接调用,性能上会好很多。也比较简单。
(几万条数据怎么地也得要时间去处理,所以不可能特别快的。)

如果由于各种原因,导致这个插入还是很慢, 而且你的MYSQL又是5.0以上版本的话,可以使用BulkCopy来进行批量操作。
BulkCopy的原理就是Client直接把一个数组(DataTable)传给DB,然后传入表名,所有的编译、操作都由DB自己完成,效率很高。
引用MySql.Data.dll , 调用MysqlBulkCopy函数即可。

这个函数在处理海量数据插入的时候效率尤为明显, 小量数据反而没什么优势,而且由于传入的DataTable格式必须和表的字段一模一样(空的列也要传进去),导致C#要写很多代码来构造这个数组,所以要你自己权衡用还是不用。
我在自己的电脑上批量插入一亿条数据,Insert写法大概需要1小时,BulkCopy大概只需要5分钟。2016-12-06
mengvlog 阅读 10 次 更新于 2025-07-21 04:09:29 我来答关注问题0
  • 需要安装MySQL C API库。在Ubuntu环境下,可以使用以下命令进行安装:sudo apt-get install libmysqlclient-dev 安装完库之后,就可以开始编写C程序了。下面是一个示例代码,用来向MySQL数据库的user表中批量插入数据:include include / 批量插入数据 param MYSQL* mysql 连接MySQL数据库的句柄 param char*...

  • 引用MySql.Data.dll , 调用MysqlBulkCopy函数即可。这个函数在处理海量数据插入的时候效率尤为明显, 小量数据反而没什么优势,而且由于传入的DataTable格式必须和表的字段一模一样(空的列也要传进去),导致C#要写很多代码来构造这个数组,所以要你自己权衡用还是不用。我在自己的电脑上批量插入一亿条数...

  •  云易网络科技 MySQL轻松实现一秒插入万条数据MySQL一秒插入条

    MySQL提供了一些批量插入工具,可以更方便地将大量数据导入MySQL。以下是两种常用的批量插入工具。1. 使用MySQL Workbench MySQL Workbench是MySQL官方提供的一款图形化工具,其中包含了一个数据导入工具。使用该工具可以将CSV文件快速地导入MySQL。以下是使用MySQL Workbench导入CSV文件的步骤:① 创建一个新的数...

  •  翡希信息咨询 13 秒插入 30 万条数据,这才是批量插入正确的姿势!

    在插入数据的循环中,每达到一定数量就执行一次executeBatch方法提交数据。索引优化:在大量数据插入前,暂时去掉索引。这样可以大大减少写入时更新索引的时间。数据插入完成后,再重新创建索引。数据库连接池:使用数据库连接池来减少数据库连接建立和关闭的开销,提高性能。数据库参数调整:增加MySQL数据库缓冲区...

  • Du知道君 c#中往mysql里批量插入上万条数据,有比较高效的方法吗

    封装成mysql存储过程效率是不错的。总之你的插入的语句要打包到mysql区执行,而不是在C#中逐一执行。

檬味博客在线解答立即免费咨询

mySQL相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部