我有一个带有 Persons 表的简单数据库
UserId, Name,DOB
该表包含 750,000 行(人)。
我收到一个可能包含 1000 万行的 CSV 文件
UserId, Address1, Address2, Address3, TownCity, Region, Country,
Telephone1, Telephone2, Telephone3
用户当前和之前的联系方式
该文件包含usersId
在其中,因此我可以将联系人详细信息与用户匹配。
人员和联系方式之间存在一对多关系
我的最终目标是查询选择UserId, Name, DOB, Address1, Address2......
等
目前我使用 .net 打开 csv 文件并逐行读取并将每条记录单独写入 SQL 服务器(可能有 1000 万条 sql 插入) - 这很慢,所以我正在寻找其他方法。
我正在试验 SQL 2012 FileTable/Stream - 所以我将 csv 文件存储在 FileTable 中并且可以这样查询
SELECT [file_stream], [name], [path_locator], [parent_path_locator],
[file_type], [cached_file_size], [creation_time]
FROM [MYDB_FileTable].[dbo].[AddressFileTable]
有谁知道我是否可以查询 FileStream 和批量插入或任何其他处理核心 csv 数据的方式?
我看过
DECLARE @csv varchar(max)
SELECT @csv = convert(varchar(max), [file_stream]) FROM PKIFileTable
但由于文件大小,这不起作用
欢迎任何建议。