要快速導(dǎo)入大量數(shù)據(jù)到SQL Server,可以考慮以下幾種方法:
示例代碼:
BULK INSERT dbo.TableName
FROM 'C:\Data\file.csv'
WITH (
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n',
BATCHSIZE = 1000,
TABLOCK
);
示例代碼:
bcp dbname.schema.tablename in "C:\Data\file.csv" -U username -P password -S servername -c -t , -r \n
使用SSIS(SQL Server Integration Services):SSIS是SQL Server的ETL工具,可以進(jìn)行數(shù)據(jù)的導(dǎo)入、轉(zhuǎn)換和加載。可以通過(guò)創(chuàng)建SSIS包來(lái)快速導(dǎo)入大量數(shù)據(jù)。
使用SqlBulkCopy類:在.NET程序中可以使用SqlBulkCopy類將數(shù)據(jù)批量導(dǎo)入到SQL Server中。這種方法適用于使用編程語(yǔ)言進(jìn)行數(shù)據(jù)導(dǎo)入的情況。
示例代碼:
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
using (SqlBulkCopy bulkCopy = new SqlBulkCopy(connection))
{
bulkCopy.DestinationTableName = "dbo.TableName";
bulkCopy.WriteToServer(dataTable);
}
}
無(wú)論選擇哪種方法,都可以根據(jù)具體情況進(jìn)行調(diào)整和優(yōu)化,以提高導(dǎo)入數(shù)據(jù)的速度和效率。