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