Dotnetnuke 提交表格时速度缓慢

Dotnetnuke 提交表格时速度缓慢,dotnetnuke,2sxc,Dotnetnuke,2sxc,当我们在DNN网站上使用2sxc表单提交表单时,我们看到了一些相当极端(我称之为极端)的大约20秒的慢度 问题似乎在于,在每个表单提交中,2sxc都会在后台执行大约20条SQL语句,其中一条每次运行需要8到13秒。其余的时间不到100毫秒。查询如下所示 我尝试重新索引数据库,但没有帮助。我想知道为什么要运行此查询,以及如何关闭它或采取任何措施来提高性能 SELECT [UnionAll1].[EntityID] AS [C1], [UnionAll1].[AttributeS

当我们在DNN网站上使用2sxc表单提交表单时,我们看到了一些相当极端(我称之为极端)的大约20秒的慢度

问题似乎在于,在每个表单提交中,2sxc都会在后台执行大约20条SQL语句,其中一条每次运行需要8到13秒。其余的时间不到100毫秒。查询如下所示

我尝试重新索引数据库,但没有帮助。我想知道为什么要运行此查询,以及如何关闭它或采取任何措施来提高性能

    SELECT 
    [UnionAll1].[EntityID] AS [C1], 
[UnionAll1].[AttributeSetID] AS [C2], 
[UnionAll1].[AttributeSetID1] AS [C3], 
[UnionAll1].[ChangeID] AS [C4], 
[UnionAll1].[C2] AS [C5], 
[UnionAll1].[EntityID1] AS [C6], 
[UnionAll1].[EntityGUID] AS [C7], 
[UnionAll1].[AttributeSetID2] AS [C8], 
[UnionAll1].[C3] AS [C9], 
[UnionAll1].[AssignmentObjectTypeID] AS [C10], 
[UnionAll1].[KeyGuid] AS [C11], 
[UnionAll1].[KeyNumber] AS [C12], 
[UnionAll1].[KeyString] AS [C13], 
[UnionAll1].[IsPublished] AS [C14], 
[UnionAll1].[PublishedEntityId] AS [C15], 
[UnionAll1].[Owner] AS [C16], 
[UnionAll1].[Timestamp] AS [C17], 
[UnionAll1].[C1] AS [C18], 
[UnionAll1].[AttributeID] AS [C19], 
[UnionAll1].[AttributeID1] AS [C20], 
[UnionAll1].[C4] AS [C21], 
[UnionAll1].[ChildEntityID] AS [C22], 
[UnionAll1].[C5] AS [C23], 
[UnionAll1].[C6] AS [C24], 
[UnionAll1].[C7] AS [C25], 
[UnionAll1].[C9] AS [C26], 
[UnionAll1].[C10] AS [C27], 
[UnionAll1].[C11] AS [C28], 
[UnionAll1].[C12] AS [C29], 
[UnionAll1].[C13] AS [C30], 
[UnionAll1].[C14] AS [C31], 
[UnionAll1].[C15] AS [C32], 
[UnionAll1].[C16] AS [C33], 
[UnionAll1].[C17] AS [C34]
FROM  (SELECT 
    CASE WHEN ([Join3].[AttributeID1] IS NULL) THEN CAST(NULL AS int) ELSE 1 END AS [C1], 
    [Project1].[EntityID] AS [EntityID], 
    [Project1].[AttributeSetID1] AS [AttributeSetID], 
    [Project1].[AttributeSetID1] AS [AttributeSetID1], 
    [Project1].[ChangeID] AS [ChangeID], 
    [Project1].[C1] AS [C2], 
    [Project1].[EntityID] AS [EntityID1], 
    [Project1].[EntityGUID] AS [EntityGUID], 
    [Project1].[AttributeSetID] AS [AttributeSetID2], 
    [Project1].[C1] AS [C3], 
    [Project1].[AssignmentObjectTypeID] AS [AssignmentObjectTypeID], 
    [Project1].[KeyGuid] AS [KeyGuid], 
    [Project1].[KeyNumber] AS [KeyNumber], 
    [Project1].[KeyString] AS [KeyString], 
    [Project1].[IsPublished] AS [IsPublished], 
    [Project1].[PublishedEntityId] AS [PublishedEntityId], 
    [Project1].[Owner] AS [Owner], 
    [Project1].[Timestamp] AS [Timestamp], 
    [Join3].[AttributeID1] AS [AttributeID], 
    [Join3].[AttributeID1] AS [AttributeID1], 
    CASE WHEN ([Join3].[AttributeID1] IS NULL) THEN CAST(NULL AS int) WHEN ([Join3].[AttributeID2] IS NULL) THEN CAST(NULL AS int) ELSE 1 END AS [C4], 
    [Join3].[ChildEntityID] AS [ChildEntityID], 
    [Join3].[SortOrder] AS [SortOrder], 
    CAST(NULL AS int) AS [C5], 
    CAST(NULL AS int) AS [C6], 
    CAST(NULL AS int) AS [C7], 
    CAST(NULL AS int) AS [C8], 
    CAST(NULL AS int) AS [C9], 
    CAST(NULL AS int) AS [C10], 
    CAST(NULL AS varchar(1)) AS [C11], 
    CAST(NULL AS int) AS [C12], 
    CAST(NULL AS int) AS [C13], 
    CAST(NULL AS int) AS [C14], 
    CAST(NULL AS int) AS [C15], 
    CAST(NULL AS bit) AS [C16], 
    CAST(NULL AS varchar(1)) AS [C17]
    FROM   (SELECT 
        [Filter1].[EntityID] AS [EntityID], 
        [Filter1].[EntityGUID] AS [EntityGUID], 
        [Filter1].[AttributeSetID1] AS [AttributeSetID], 
        [Filter1].[AssignmentObjectTypeID] AS [AssignmentObjectTypeID], 
        [Filter1].[KeyNumber] AS [KeyNumber], 
        [Filter1].[KeyGuid] AS [KeyGuid], 
        [Filter1].[KeyString] AS [KeyString], 
        [Filter1].[IsPublished] AS [IsPublished], 
        [Filter1].[PublishedEntityId] AS [PublishedEntityId], 
        [Filter1].[Owner] AS [Owner], 
        [Filter1].[AttributeSetID2] AS [AttributeSetID1], 
        [Extent3].[ChangeID] AS [ChangeID], 
        [Extent3].[Timestamp] AS [Timestamp], 
        1 AS [C1]
        FROM   (SELECT [Extent1].[EntityID] AS [EntityID], [Extent1].[EntityGUID] AS [EntityGUID], [Extent1].[AttributeSetID] AS [AttributeSetID1], [Extent1].[AssignmentObjectTypeID] AS [AssignmentObjectTypeID], [Extent1].[KeyNumber] AS [KeyNumber], [Extent1].[KeyGuid] AS [KeyGuid], [Extent1].[KeyString] AS [KeyString], [Extent1].[IsPublished] AS [IsPublished], [Extent1].[PublishedEntityId] AS [PublishedEntityId], [Extent1].[ChangeLogModified] AS [ChangeLogModified], [Extent1].[Owner] AS [Owner], [Extent2].[AttributeSetID] AS [AttributeSetID2], [Extent2].[AppID] AS [AppID]
            FROM  [dbo].[ToSIC_EAV_Entities] AS [Extent1]
            INNER JOIN [dbo].[ToSIC_EAV_AttributeSets] AS [Extent2] ON [Extent1].[AttributeSetID] = [Extent2].[AttributeSetID]
            WHERE ([Extent1].[ChangeLogDeleted] IS NULL) AND ([Extent2].[ChangeLogDeleted] IS NULL) ) AS [Filter1]
        LEFT OUTER JOIN [dbo].[ToSIC_EAV_ChangeLog] AS [Extent3] ON [Filter1].[ChangeLogModified] = [Extent3].[ChangeID]
        WHERE ([Filter1].[AppID] = @p__linq__0) AND (@p__linq__1 <> cast(1 as bit)) ) AS [Project1]
    OUTER APPLY  (SELECT [Distinct1].[AttributeID] AS [AttributeID1], [Extent5].[AttributeID] AS [AttributeID2], [Extent5].[ChildEntityID] AS [ChildEntityID], [Extent5].[SortOrder] AS [SortOrder]
        FROM   (SELECT DISTINCT 
            [Extent4].[AttributeID] AS [AttributeID]
            FROM [dbo].[ToSIC_EAV_EntityRelationships] AS [Extent4]
            WHERE [Project1].[EntityID] = [Extent4].[ParentEntityID] ) AS [Distinct1]
        LEFT OUTER JOIN [dbo].[ToSIC_EAV_EntityRelationships] AS [Extent5] ON ([Project1].[EntityID] = [Extent5].[ParentEntityID]) AND ([Distinct1].[AttributeID] = [Extent5].[AttributeID]) ) AS [Join3]
UNION ALL
    SELECT 
    2 AS [C1], 
    [Project4].[EntityID] AS [EntityID], 
    [Project4].[AttributeSetID1] AS [AttributeSetID], 
    [Project4].[AttributeSetID1] AS [AttributeSetID1], 
    [Project4].[ChangeID] AS [ChangeID], 
    [Project4].[C1] AS [C2], 
    [Project4].[EntityID] AS [EntityID1], 
    [Project4].[EntityGUID] AS [EntityGUID], 
    [Project4].[AttributeSetID] AS [AttributeSetID2], 
    [Project4].[C1] AS [C3], 
    [Project4].[AssignmentObjectTypeID] AS [AssignmentObjectTypeID], 
    [Project4].[KeyGuid] AS [KeyGuid], 
    [Project4].[KeyNumber] AS [KeyNumber], 
    [Project4].[KeyString] AS [KeyString], 
    [Project4].[IsPublished] AS [IsPublished], 
    [Project4].[PublishedEntityId] AS [PublishedEntityId], 
    [Project4].[Owner] AS [Owner], 
    [Project4].[Timestamp] AS [Timestamp], 
    CAST(NULL AS int) AS [C4], 
    CAST(NULL AS int) AS [C5], 
    CAST(NULL AS int) AS [C6], 
    CAST(NULL AS int) AS [C7], 
    CAST(NULL AS int) AS [C8], 
    [Join8].[AttributeID3] AS [AttributeID], 
    [Join8].[AttributeID3] AS [AttributeID1], 
    CASE WHEN ([Join8].[ValueID1] IS NULL) THEN CAST(NULL AS int) ELSE 1 END AS [C9], 
    [Join8].[ChangeLogCreated] AS [ChangeLogCreated], 
    [Join8].[ValueID1] AS [ValueID], 
    [Join8].[ValueID1] AS [ValueID1], 
    [Join8].[Value] AS [Value], 
    [Join8].[ChangeLogCreated] AS [ChangeLogCreated1], 
    CASE WHEN ([Join8].[ValueID1] IS NULL) THEN CAST(NULL AS int) WHEN ([Join8].[ValueID2] IS NULL) THEN CAST(NULL AS int) ELSE 1 END AS [C10], 
    [Join8].[DimensionID1] AS [DimensionID], 
    [Join8].[DimensionID1] AS [DimensionID1], 
    [Join8].[ReadOnly] AS [ReadOnly], 
    CASE WHEN ([Join8].[ValueID1] IS NULL) THEN CAST(NULL AS varchar(1)) WHEN ([Join8].[ValueID2] IS NULL) THEN CAST(NULL AS varchar(1)) ELSE LOWER([Join8].[ExternalKey]) END AS [C11]
    FROM   (SELECT 
        [Filter4].[EntityID] AS [EntityID], 
        [Filter4].[EntityGUID] AS [EntityGUID], 
        [Filter4].[AttributeSetID3] AS [AttributeSetID], 
        [Filter4].[AssignmentObjectTypeID] AS [AssignmentObjectTypeID], 
        [Filter4].[KeyNumber] AS [KeyNumber], 
        [Filter4].[KeyGuid] AS [KeyGuid], 
        [Filter4].[KeyString] AS [KeyString], 
        [Filter4].[IsPublished] AS [IsPublished], 
        [Filter4].[PublishedEntityId] AS [PublishedEntityId], 
        [Filter4].[Owner] AS [Owner], 
        [Filter4].[AttributeSetID4] AS [AttributeSetID1], 
        [Extent8].[ChangeID] AS [ChangeID], 
        [Extent8].[Timestamp] AS [Timestamp], 
        1 AS [C1]
        FROM   (SELECT [Extent6].[EntityID] AS [EntityID], [Extent6].[EntityGUID] AS [EntityGUID], [Extent6].[AttributeSetID] AS [AttributeSetID3], [Extent6].[AssignmentObjectTypeID] AS [AssignmentObjectTypeID], [Extent6].[KeyNumber] AS [KeyNumber], [Extent6].[KeyGuid] AS [KeyGuid], [Extent6].[KeyString] AS [KeyString], [Extent6].[IsPublished] AS [IsPublished], [Extent6].[PublishedEntityId] AS [PublishedEntityId], [Extent6].[ChangeLogModified] AS [ChangeLogModified], [Extent6].[Owner] AS [Owner], [Extent7].[AttributeSetID] AS [AttributeSetID4], [Extent7].[AppID] AS [AppID]
            FROM  [dbo].[ToSIC_EAV_Entities] AS [Extent6]
            INNER JOIN [dbo].[ToSIC_EAV_AttributeSets] AS [Extent7] ON [Extent6].[AttributeSetID] = [Extent7].[AttributeSetID
选择
[UnionAll1][EntityID]作为[C1],
[UnionAll1][AttributeSetID]作为[C2],
[UnionAll1][AttributeSetID1]作为[C3],
[UnionAll1].[ChangeID]作为[C4],
[UnionAll1][C2]作为[C5],
[UnionAll1][EntityID1]作为[C6],
[UnionAll1].[EntityGUID]作为[C7],
[UnionAll1][AttributeSetID2]作为[C8],
[UnionAll1][C3]作为[C9],
[UnionAll1]。[AssignmentObjectTypeID]作为[C10],
[UnionAll1]。[KeyGuid]作为[C11],
[UnionAll1]。[KeyNumber]作为[C12],
[UnionAll1]。[KeyString]作为[C13],
[UnionAll1]。[IsPublished]为[C14],
[UnionAll1]。[PublishedEntityId]作为[C15],
[UnionAll1].[Owner]作为[C16],
[UnionAll1]。[Timestamp]为[C17],
[UnionAll1][C1]作为[C18],
[UnionAll1][AttributeID]作为[C19],
[UnionAll1][AttributeID1]作为[C20],
[UnionAll1][C4]作为[C21],
[UnionAll1][ChildEntityID]作为[C22],
[UnionAll1][C5]作为[C23],
[UnionAll1][C6]作为[C24],
[UnionAll1][C7]作为[C25],
[UnionAll1][C9]作为[C26],
[UnionAll1][C10]作为[C27],
[UnionAll1][C11]作为[C28],
[UnionAll1][C12]作为[C29],
[UnionAll1][C13]作为[C30],
[UnionAll1].[C14]作为[C31],
[UnionAll1][C15]作为[C32],
[UnionAll1][C16]作为[C33],
[UnionAll1][C17]作为[C34]
从(选择
当([Join3].[AttributeID1]为NULL)然后强制转换(NULL为int)时,否则1结束为[C1],
[Project1]。[EntityID]作为[EntityID],
[Project1][AttributeSetID 1]作为[AttributeSetID],
[Project1][AttributeSetID1]作为[AttributeSetID1],
[Project1]。[ChangeID]作为[ChangeID],
[Project1][C1]作为[C2],
[Project1]。[EntityID]作为[EntityID1],
[Project1]。[EntityGUID]作为[EntityGUID],
[Project1][AttributeSetID]作为[AttributeSetID 2],
[Project1][C1]作为[C3],
[Project1]。[AssignmentObjectTypeID]作为[AssignmentObjectTypeID],
[Project1]。[KeyGuid]作为[KeyGuid],
[Project1]。[KeyNumber]作为[KeyNumber],
[Project1]。[KeyString]作为[KeyString],
[Project1]。[IsPublished]作为[IsPublished],
[Project1]。[PublishedEntityId]作为[PublishedEntityId],
[Project1]。[Owner]作为[Owner],
[Project1]。[Timestamp]作为[Timestamp],
[Join3][AttributeID]作为[AttributeID],
[Join3][AttributeID1]作为[AttributeID1],
当([Join3].[AttributeID1]为NULL)然后强制转换(NULL为int)时,当([Join3].[AttributeID2]为NULL)然后强制转换(NULL为int)时,否则1结束为[C4],
[Join3]。[ChildEntityID]作为[ChildEntityID],
[Join3]。[SortOrder]作为[SortOrder],
强制转换(NULL为int)为[C5],
强制转换(NULL为int)为[C6],
强制转换(NULL为int)为[C7],
强制转换(NULL为int)为[C8],
强制转换(NULL为int)为[C9],
强制转换(NULL为int)为[C10],
强制转换(NULL为varchar(1))为[C11],
强制转换(NULL为int)为[C12],
强制转换(NULL为int)为[C13],
强制转换(NULL为int)为[C14],
强制转换(NULL为int)为[C15],
强制转换(以位形式为空)为[C16],
强制转换(NULL为varchar(1))为[C17]
从(选择
[Filter1]。[EntityID]作为[EntityID],
[Filter1]。[EntityGUID]作为[EntityGUID],
[Filter1]。[AttributeSetID 1]作为[AttributeSetID],
[Filter1]。[AssignmentObjectTypeID]作为[AssignmentObjectTypeID],
[Filter1]。[KeyNumber]作为[KeyNumber],
[Filter1]。[KeyGuid]作为[KeyGuid],
[Filter1]。[KeyString]作为[KeyString],
[Filter1]。[IsPublished]作为[IsPublished],
[Filter1]。[PublishedEntityId]作为[PublishedEntityId],
[Filter1]。[Owner]作为[Owner],
[Filter1]。[AttributeSetID2]作为[AttributeSetID1],
[Extent3]。[ChangeID]作为[ChangeID],
[Extent3]。[Timestamp]作为[Timestamp],
1 AS[C1]
从中(选择[Extent1]。[EntityID]作为[EntityID],[Extent1]。[EntityGUID]作为[EntityGUID],[Extent1]。[AttributeStId]作为[AttributeStId],[Extent1]。[AssignmentObjectTypeID]作为[AssignmentObjectTypeID],[Extent1]。[KeyGuid]作为[KeyGuid],[Extent1]。[KeyString]作为[KeyString],[Extent1]。[KeyString]作为[KeyString],[Extent1]。[IsPublished]作为[IsPublished],[Extent1]。[PublishedEntityId]为[PublishedEntityId],[Extent1]。[ChangeLogModified]为[ChangeLogModified],[Extent1]。[Owner]为[Owner],[Extent2]。[AttributeSetID]为[AttributeSetID],[Extent2]。[AppID]为[AppID]
来自[dbo]。[ToSIC_EAV_Entities]作为[Extent1]
内部联接[dbo].[ToSIC_EAV_AttributeSets]作为[Extent1].[AttributeSetID]=[Extent2].[AttributeSetID]上的[Extent2]
其中([Extent1].[ChangeLogDeleted]为NULL)和([Extent2].[ChangeLogDeleted]为NULL))作为[Filter1]
在[Filter1].[ChangeLogModified]=[Extent3].[ChangeID]上将[dbo].[ToSIC\u EAV\u ChangeLog]作为[Extent3]左外部联接
其中([Filter1].[AppID]=@p_uulinq_u0)和(@p_ulinq_u1 cast(1 as bit)))作为[Project1]
外部应用(选择[Distinct1]。[AttributeID]作为[AttributeID1],[Extent5]。[AttributeID]作为[AttributeID2],[Extent5]。[ChildEntityID]作为[ChildEntityID],[Extent5]。[SortOrder]作为[SortOrder]
从(选择不同的)
[extend4]。[AttributeID]作为[AttributeID]
来自[dbo]。[ToSIC_EAV_entityrelations]作为[extend4]
其中[Project1].[EntityID]=[Extent4].[ParentEntityID])作为[Distinct1]
左外连接[dbo]。[ToSIC_EAV_EntityRelationships]作为[Extent5]在([Project1]。[EntityID]=[Extent5]。[ParentEntityID])和([Distinct1]。[AttributeID]=[Extent5]。[AttributeID])作为[Join3]
联合所有
挑选
2作为[C1],
[Project4]。[EntityID]作为[EntityID],
[Project4][AttributeSetID 1]作为[AttributeSetID]