Hi,
I noticed on our Azure SQL diagnostics, that this particular query has ran over 1 million times(!) in the past 24 hours.
The query in question
(@0 int,@1 int,@2 int,@3 int,@4 uniqueidentifier,@5 int,@6 uniqueidentifier)SELECT [umbracoNode].[id] AS [Id], [umbracoNode].[uniqueId] AS [Key], [umbracoNode].[level] AS [Level], [umbracoNode].[path] AS [Path], [umbracoNode].[sortOrder] AS [SortOrder], [umbracoNode].[parentId] AS [ParentId], [umbracoNode].[createDate] AS [CreateDate], [umbracoNode].[nodeUser] AS [CreatorId] , [umbracoContent].[contentTypeId] AS [ContentTypeId] , [umbracoDocument].[published] AS [Published], [umbracoDocument].[edited] AS [Edited] , [umbracoContentVersion].[id] AS [VersionId], [umbracoContentVersion].[text] AS [EditName], [umbracoContentVersion].[versionDate] AS [EditVersionDate], [umbracoContentVersion].[userId] AS [EditWriterId] , [umbracoDocumentVersion].[templateId] AS [EditTemplateId] , [pcver].[id] AS [PublishedVersionId], [pcver].[text] AS [PubName], [pcver].[versionDate] AS [PubVersionDate], [pcver].[userId] AS [PubWriterId] , [pdver].[templateId] AS [PubTemplateId] , [nuEdit].[data] AS [EditData] , [nuPub].[data] AS [PubData] , [nuEdit].[dataRaw] AS [EditDataRaw] , [nuPub].[dataRaw] AS [PubDataRaw] FROM [umbracoNode] INNER JOIN [umbracoContent] ON ([umbracoNode].[id] = [umbracoContent].[nodeId]) INNER JOIN [umbracoDocument] ON ([umbracoNode].[id] = [umbracoDocument].[nodeId]) INNER JOIN [umbracoContentVersion] ON (([umbracoNode].[id] = [umbracoContentVersion].[nodeId]) AND [umbracoContentVersion].[current] = @0) INNER JOIN [umbracoDocumentVersion] ON ([umbracoContentVersion].[id] = [umbracoDocumentVersion].[id]) LEFT JOIN [umbracoContentVersion] [pcver] INNER JOIN [umbracoDocumentVersion] [pdver] ON (([pcver].[id] = [pdver].[id]) AND ([pdver].[published] = @1)) ON ([umbracoNode].[id] = [pcver].[nodeId]) LEFT JOIN [cmsContentNu] [nuEdit] ON (([umbracoNode].[id] = [nuEdit].[nodeId]) AND [nuEdit].[published] = @2) LEFT JOIN [cmsContentNu] [nuPub] ON (([umbracoNode].[id] = [nuPub].[nodeId]) AND ([nuPub].[published] = @3)) WHERE ((([umbracoNode].[nodeObjectType] = @4) AND ([umbracoNode].[trashed] = @5))) AND (([umbracoNode].[uniqueId] = @6)) ORDER BY [umbracoNode].[level], [umbracoNode].[parentId], [umbracoNode].[sortOrder]
I have isolated this down by running a simple test in a Razor view, to get Homepage by key, and return .Children()
@using Umbraco.Cms.Web.Common.PublishedModels;
@inherits Umbraco.Cms.Web.Common.Views.UmbracoViewPage
@{
Layout = "~/Views/_Layout.cshtml";
var hp = Umbraco.Content("f79817b7-1b7c-4f3c-921d-eecc2538e19e");
var myTest = hp.Children();
}
I then have this query running on SSMS to see executed queries
SELECT TOP 100
qs.last_execution_time,
qt.text AS [QueryText],
qs.execution_count,
qs.total_elapsed_time/1000 AS total_ms
FROM sys.dm_exec_query_stats qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) AS qt
WHERE qt.text LIKE '%0 int,@1 int,@2 int%'
ORDER BY qs.last_execution_time DESC;
Every time i execute hp.Children() - the query in question (thats running 1m times a day in Production) is executed and i see the count go up in the SSMS query I’m running. I can trigger this every time i run the test, the cache should have been fully warmed. It never stops executing this query.
I thought this should NEVER happen under ANY circumstance?
For context, this is on a massively multilngual site with 52 languages.
Does anyone have any ideas?
Thanks