sql server openrowset导入json文件的性能

sql server openrowset导入json文件的性能,json,sql-server,tsql,bulkinsert,openrowset,Json,Sql Server,Tsql,Bulkinsert,Openrowset,我有大约400GB的json文件(每个150MB)要导入到sqlserver,其中6个文件使用SSI并行导入(机器有6个CPU)。将数据导入6个不同的表(每个并行进程1个)只需大约4小时 对下面的问题有什么改进吗?还是有更好的方法导入这些数据 DECLARE @json VARCHAR(MAX) SELECT @json = BulkColumn FROM OPENROWSET(BULK'D:\path', SINGLE_BLOB) JSON; INSERT INTO table_here SE

我有大约400GB的json文件(每个150MB)要导入到sqlserver,其中6个文件使用SSI并行导入(机器有6个CPU)。将数据导入6个不同的表(每个并行进程1个)只需大约4小时

对下面的问题有什么改进吗?还是有更好的方法导入这些数据

DECLARE @json VARCHAR(MAX)
SELECT @json = BulkColumn FROM OPENROWSET(BULK'D:\path', SINGLE_BLOB) JSON;
INSERT INTO table_here
SELECT columns_here
FROM OPENJSON (@json, '$.json')
WITH(columns_here)

老实说,考虑到事情的规模,我并不感到惊讶。maxdop设置为什么?CPU负载的统计数据是什么?i/o是到SAN/SSD的吗?您是否尝试过将原始json字符串提取到SQL并通过存储过程执行拆分?CPU负载在50-90之间,因此我可能还有空间增加。Maxdop是默认设置0。不,目前这是我唯一尝试过的方法。i/o我目前没有这方面的信息。tablock在这里有用吗?你能将maxdop设置为6吗?考虑到您将生成的日志数量,tablock在这里也可能有所帮助。