gpt4 book ai didi

asp.net - 如何一次从asp.net 向mysql 表中插入批量数据

转载 作者:可可西里 更新时间:2023-11-01 07:38:08 24 4
gpt4 key购买 nike

我有一个要求,我需要使用 asp.net/C# 读取一个 excel 表并将所有记录插入到 mysql 表中。excel 表由大约 2000 行和 50 列组成。目前,在读取excel记录后,我正在使用prepare语句将记录一条一条地插入到mysql表中。但是由于数据量很大,这样做大约需要70秒。

我还想过创建一个新的数据行,为每个单元格赋值,将结果数据行添加到数据表,最后调用 dataadapter.update(...)。但它似乎很复杂,因为我有大约 50 列因此我必须为数据行分配 50 个值。

有人可以建议是否有替代方法来提高插入性能吗?

谢谢

最佳答案

MySQL LOAD DATA INFILE类似于 MS SQL 的 BULK INSERT,这将为您提供最佳性能。

您可以在遍历 Excel 单元格时连接文本文件,但为了获得更多性能,请尝试一次从 Excel 导出文件 - 我不确定您需要如何处理导出文件(分隔符,等等)

编辑:

或者,如果您没有胃口/时间尝试这样的事情,至少将尽可能多的 VALUES 行传递到单个 INSERT 语句中:

INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9);(也来自 MySQL网站。)

我不知道 5000 是否超过理论限制 - 可能吧? -- 所以只需为每个语句组装 100 个插入,然后执行它。

无论如何,单次插入每条命令的方法会让您付出代价。

关于asp.net - 如何一次从asp.net 向mysql 表中插入批量数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2948220/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com