我在运行 umbraco 6.1.6 的开发服务器 win2k8 32bit sqlserver 2012 express iis7.5 上有现有站点,一切正常。我已将该站点移植到实时服务器,这是 win2k12 iis8 sql server 2012。该端口涉及对文件进行 ftp 处理并从开发人员获取数据库备份并在线恢复。当去媒体部分我没有媒体时,这个问题正在直播。检查日志文件并运行 sql profiler 后,我确定了导致问题的查询。dev 上的相同查询运行良好,但 live 需要 11 分钟。
查询看起来像
SELECT umbracoNode.id, umbracoNode.trashed, umbracoNode.parentID,
umbracoNode.nodeUser, umbracoNode.level, umbracoNode.path, umbracoNode.sortOrder,
umbracoNode.uniqueID, umbracoNode.text, umbracoNode.nodeObjectType,
umbracoNode.createDate,
COUNT(parent.parentID) as children, published.versionId as publishedVerison,
latest.versionId as newestVersion, contenttype.alias,
contenttype.icon, contenttype.thumbnail,
property.dataNvarchar as umbracoFile,
property.controlId
FROM umbracoNode umbracoNode
LEFT JOIN umbracoNode parent ON parent.parentID = umbracoNode.id
INNER JOIN cmsContent content ON content.nodeId = umbracoNode.id
LEFT JOIN cmsContentType contenttype ON contenttype.nodeId = content.contentType
LEFT JOIN (SELECT nodeId, versionId FROM cmsDocument WHERE published = 1 GROUP BY nodeId, versionId) as published
ON umbracoNode.id = published.nodeId
LEFT JOIN (SELECT nodeId, versionId FROM cmsDocument WHERE newest = 1 GROUP BY nodeId, versionId) as latest ON umbracoNode.id = latest.nodeId
LEFT JOIN (SELECT contentNodeId, versionId, dataNvarchar, controlId FROM cmsPropertyData INNER JOIN umbracoNode ON cmsPropertyData.contentNodeId = umbracoNode.id
INNER JOIN cmsPropertyType ON cmsPropertyType.id = cmsPropertyData.propertytypeid
INNER JOIN cmsDataType ON cmsPropertyType.dataTypeId = cmsDataType.nodeId
WHERE umbracoNode.nodeObjectType = 'B796F64C-1F99-4FFB-B886-4BF4BC011A9C'
AND [umbracoNode].[parentID] = -1) as property
ON umbracoNode.id = property.contentNodeId
WHERE (umbracoNode.nodeObjectType = 'b796f64c-1f99-4ffb-b886-4bf4bc011a9c')
AND ([umbracoNode].[parentID] = -1)
GROUP BY umbracoNode.id, umbracoNode.trashed, umbracoNode.parentID, umbracoNode.nodeUser, umbracoNode.level, umbracoNode.path, umbracoNode.sortOrder, umbracoNode.uniqueID, umbracoNode.text,
umbracoNode.nodeObjectType, umbracoNode.createDate, published.versionId, latest.versionId, contenttype.alias, contenttype.icon, contenttype.thumbnail, property.dataNvarchar, property.controlId
ORDER BY umbracoNode.sortOrder
它存在相同的数据库索引,所以我看不到发生了什么。有没有人见过这个?是 64 位 w2k12 上的 sql server 2012 问题吗?
问候
伊斯梅尔