我的文本文件是
Town 1, Street Address, Street number 1, Region 1, 125 07
Town 1, Street Address 12, Street number 1, Region 34, 141 07
Town 2, Street Address 345, Street number 1, Region 23, 190 07
Town 2, Street Address 233, Street number 1, Region , 190 11
我目前执行以下操作来插入 SQL 数据库表。
var fileContents = System.IO.File.ReadAllText(Server.MapPath(@"~/App_Data/zipcodes.txt"), Encoding.GetEncoding(1253));
var Line = fileContents.Split(new string[] {"\n", "\r\n"}, StringSplitOptions.RemoveEmptyEntries);
var Array = new string[5];
foreach (string s in Line)
{
Array = s.Split(',');
storeDB.ZipCodes.Add(new ZipCodes {Town = Array[0],
StreetAddress = Array[1],
StreetNumber = Array[2],
Region = Array[3],
PostalCode = Array[4].Replace(" ", "")});
}
storeDB.SaveChanges();
由于文件包含 50000 多条记录,我想用另一种方式插入,更快。有什么建议吗?
最佳答案
您可以使用BULK INSERT
BULK INSERT db_name.schema.table
FROM '...path .../zipcodes.txt'
WITH (
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n'
);
如果需要,有许多配置可用,例如 CODEPAGE
或 FIRSTROW
等等...
关于c# - 如何加快在 SQL 数据库表中插入文本文件的速度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32932286/