gpt4 book ai didi

c# - 加快插入 mdb

转载 作者:行者123 更新时间:2023-11-30 13:24:52 25 4
gpt4 key购买 nike

有没有办法加快插入 mdb 的速度?

 using (StreamReader sr = new StreamReader(_localDir + "\\" + _filename))
while ((line = sr.ReadLine()) != null)
{
//sanitize the data
}

对于来自 csv 的约 200 万条记录,这大约需要 20 秒但是当我添加 mdb 插入时,我在 10 分钟内几乎无法获得 10,000 条记录,所以你可以看到它会花很长时间

 using (StreamReader sr = new StreamReader(_localDir + "\\" + _filename))
while ((line = sr.ReadLine()) != null)
{
//sanitize the data
using (OleDbConnection con = new OleDbConnection(_conStr))
using (OleDbCommand cmd = new OleDbCommand())
cmd.Parameters.AddWithValue...//I have 22 params
cmd.ExecuteNonQuery();

}

有没有更好的方法?连接池?线程?这是我的 constr Provider=Microsoft.Jet.OLEDB.4.0;Data Source=mypath;Jet OLEDB:Engine类型=5"

问候

_埃里克

最佳答案

您是否可以使用直接从 csv 插入的查询?例如:

SELECT ID,Field1 INTO NewTable 
FROM [Text;HDR=YES;FMT=Delimited;IMEX=2;DATABASE=C:\Docs\].Some.CSV

您可以使用与非标准分隔符类似的东西,但您需要在与要导入的文件相同的目录中有一个 Schema.ini 文件。它只需要包含:

[tempImportfile.csv]
TextDelimiter='

您必须稍微更改连接字符串,这似乎可行:

Text;HDR=YES;FMT=Delimited;DATABASE=C:\Docs\

关于c# - 加快插入 mdb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2248604/

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