我有一个包含3M JSON行的表。
我试图解析JSON并将数据插入到另一个表中。但是OPENJSON需要大约50秒来分析500 K行。
我正在使用的查询
select
top 500000
qse.*
from
dbo.QueryStore qs
cross apply openjson(qs.Query)
with
(
Col1 nvarchar(max), Col2 nvarchar(max), Col3 nvarchar(max), Col4 nvarchar(max), Col5 nvarchar(max), Col6 nvarchar(max), Col7 nvarchar(max), Col8 nvarchar(max), Col9 nvarchar(max), Col10 nvarchar(max), Col11 nvarchar(max), Col12 nvarchar(max), Col13 nvarchar(max), Col14 nvarchar(max), Col15 nvarchar(max), Col16 nvarchar(max), Col17 nvarchar(max), Col18 nvarchar(max), Col19 nvarchar(max), Col20 nvarchar(max), Col21 nvarchar(max), Col22 nvarchar(max), Col23 nvarchar(max), Col24 nvarchar(max), Col25 nvarchar(max), Col26 nvarchar(max), Col27 nvarchar(max), Col28 nvarchar(max), Col29 nvarchar(max), Col30 nvarchar(max), Col31 nvarchar(max), Col32 nvarchar(max), Col33 nvarchar(max), Col34 nvarchar(max), Col35 nvarchar(max), Col36 nvarchar(max)
)qse如何提高OPENJSON的速度以快速解析3M行?
您的帮助和建议将不胜感激。
发布于 2020-09-17 14:19:41
您的所有列都包含更多的JSON吗?因为不包含更多JSON的字符串列应该是(最大长度) NVARCHAR(4000)。如果字段包含一个数字,那么它应该给出一个数值SQL数据类型(视情况而定),而不是NVARCHAR(最大)。这应该会减少拨款并加快速度。
https://stackoverflow.com/questions/63939741
复制相似问题