行数据MSSQL如何快捷导出几亿行数据(mssql导出几亿)
行数据MSSQL如何快捷导出几亿行数据
要导出MSSQL中的几亿行数据,如果不采取合理的方法,势必浪费许多时间。本文提供一种更快捷的方式,可以方便、健壮地导出几亿行数据。
首先,使用BULK INSERT命令快速将行数据从MSSQL导出到csv文件中:
BULK INSERT mydatabase.dbo.mytable
FROM ‘C:\export\data.csv’
WITH (FIRSTROW=3,FIELDTERMINATOR=’,’)
这条命令将data.csv文件中的数据导入到mydatabase中的mytable表中,每行以逗号为分隔符,从第三行起读取。
如果需要导入更多行,可以通过以下T-SQL代码做到:
DECLARE @BatchRows INT
DECLARE @TotalRows INT
DECLARE @FirstRow INT
DECLARE @EndRow INT
SET @BatchRows = 10000
SELECT @FirstRow = 1
SELECT @TotalRows = COUNT(*) FROM MYTABLE
WHILE @FirstRow
BEGIN
SET @EndRow = @FirstRow + @BatchRows – 1
BULK INSERT mydatabase.dbo.mytable
FROM ‘C:\export\data.csv’
WITH (FIRSTROW=@FirstRow,FIELDTERMINATOR=’,’)
SELECT @FirstRow = @FirstRow + @BatchRows
END
上述代码每次将10000行数据导入,每次读取的起始行为上次的结束行+1,直到读取完所有的行数据,该T-SQL可以快速处理几亿行数据,从而大量节省时间。
利用BULK INSERT及T-SQL语句,可以快速导出MSSQL中的几亿行数据。只要掌握这两个工具,就可以快速处理大量的数据导出工作,节省更多的时间。