SQL Pivot在26500和2650之间存在显著的时间差

SQL Pivot在26500和2650之间存在显著的时间差,sql,sql-server,pivot,Sql,Sql Server,Pivot,我一直在试验EAV表及其在允许动态数量属性方面的有效性。在我的实验中,我发现在EAV表中超过26500行进行数据透视会导致数据透视时间的巨大变化。我很好奇为什么会这样,以及有什么方法可以加速这个轴心过程 下面是显示查询和执行计划中的更改的图像 EAV表 25600行: SELECT * FROM ( SELECT TOP (25600) * FROM _EAV_Data ) AS SourceTable PIVOT( MIN([Value]) FOR Atribute

我一直在试验EAV表及其在允许动态数量属性方面的有效性。在我的实验中,我发现在EAV表中超过26500行进行数据透视会导致数据透视时间的巨大变化。我很好奇为什么会这样,以及有什么方法可以加速这个轴心过程

下面是显示查询和执行计划中的更改的图像

EAV表

25600行:

SELECT * 
FROM (
    SELECT TOP (25600) *
    FROM _EAV_Data )
    AS SourceTable PIVOT( MIN([Value]) FOR Atribute IN(/*<Atributes>*/)) AS P
25601行:

SELECT * 
FROM (
    SELECT TOP (25601) *
    FROM _EAV_Data )
    AS SourceTable PIVOT( MIN([Value]) FOR Atribute IN(/*<Atributes>*/)) AS P

您的一个计划正在并行,这取决于您的系统可能会更慢或更快。如果不查看表的模式或表上的统计信息(这两者都没有提供),就可以确定为什么会发生这种情况。如果您提供的是查询计划,请使用。您的一个计划正在并行运行,这取决于您的系统可能较慢或较快。如果不查看表的模式或表上的统计信息(这两者都没有提供),就可以确定为什么会发生这种情况。如果您提供查询计划,请使用。