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 阅读 85 次 更新于 2025-09-09 18:30:05 我来答关注问题0
  • 引用MySql.Data.dll , 调用MysqlBulkCopy函数即可。这个函数在处理海量数据插入的时候效率尤为明显, 小量数据反而没什么优势,而且由于传入的DataTable格式必须和表的字段一模一样(空的列也要传进去),导致C#要写很多代码来构造这个数组,所以要你自己权衡用还是不用。我在自己的电脑上批量插入一亿条数...

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

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

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

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

  • 在向MySQL中插入大量数据时,使用缓存来提高效率是非常重要的。可以使用缓存技术将数据存放在内存中,提高访问速度,减少磁盘I/O,从而在一定程度上提高MySQL的性能。综上所述,30万数据快速插入MySQL数据库需要使用批量插入、LOAD DATA INFILE和事务等方法,同时还需要考虑索引优化、内存和磁盘的优化以及缓存...

  •  充煜2q C# 批量添加大量数据的问题 mysql

    用SqlBulkCopy将XML文档批量复制到SQL Server表(此过程称为分解)要比SQLXML 3.0的批量加载功能简单得多。批量加载需要一个带注释的XML架构将元素或属性映射到基表列。SqlBulkCopy有一个ColumnMappings集,它允许用户定义源DataTable与目标基表列之间的关系。以下是通过DataReader将行插入到已有目标基表的...

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

mySQL相关话题

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