From 68c4e4f36b1cbbb6fd5b4f190e6b9f86c77a7108 Mon Sep 17 00:00:00 2001 From: Shannon Date: Tue, 25 Aug 2020 14:49:13 +1000 Subject: [PATCH] ObjectType and UniqueId indexes now cover all fields since anytime these are queried we return all data. --- .../Upgrade/V_8_8_0/UpgradedIncludeIndexes.cs | 12 ++++++++---- src/Umbraco.Core/Persistence/Dtos/NodeDto.cs | 4 ++-- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/Umbraco.Core/Migrations/Upgrade/V_8_8_0/UpgradedIncludeIndexes.cs b/src/Umbraco.Core/Migrations/Upgrade/V_8_8_0/UpgradedIncludeIndexes.cs index 50c0a48c91..11de5bdf32 100644 --- a/src/Umbraco.Core/Migrations/Upgrade/V_8_8_0/UpgradedIncludeIndexes.cs +++ b/src/Umbraco.Core/Migrations/Upgrade/V_8_8_0/UpgradedIncludeIndexes.cs @@ -14,13 +14,17 @@ namespace Umbraco.Core.Migrations.Upgrade.V_8_8_0 } public override void Migrate() - { - var nodeDtoLevelIndex = $"IX_{NodeDto.TableName}_Level"; - CreateIndexes(nodeDtoLevelIndex); // add the new definition + { + var indexesToReplace = new[] { $"IX_{NodeDto.TableName}_UniqueId", $"IX_{NodeDto.TableName}_ObjectType" }; + DeleteIndexes(indexesToReplace); // delete existing ones + // add the new definitions + CreateIndexes($"IX_{NodeDto.TableName}_Level"); + CreateIndexes(indexesToReplace); + var contentVersionNodeIdIndex = $"IX_{ContentVersionDto.TableName}_NodeId"; DeleteIndexes(contentVersionNodeIdIndex); // delete existing ones - CreateIndexes(contentVersionNodeIdIndex); // add the updated definition + CreateIndexes(contentVersionNodeIdIndex); // add the updated definitions } private void DeleteIndexes(params string[] toDelete) diff --git a/src/Umbraco.Core/Persistence/Dtos/NodeDto.cs b/src/Umbraco.Core/Persistence/Dtos/NodeDto.cs index 6797cd2c98..62475af833 100644 --- a/src/Umbraco.Core/Persistence/Dtos/NodeDto.cs +++ b/src/Umbraco.Core/Persistence/Dtos/NodeDto.cs @@ -20,7 +20,7 @@ namespace Umbraco.Core.Persistence.Dtos [Column("uniqueId")] [NullSetting(NullSetting = NullSettings.NotNull)] - [Index(IndexTypes.UniqueNonClustered, Name = "IX_" + TableName + "_UniqueId")] + [Index(IndexTypes.UniqueNonClustered, Name = "IX_" + TableName + "_UniqueId", IncludeColumns = "parentId,level,path,sortOrder,trashed,nodeUser,text,createDate")] [Constraint(Default = SystemMethods.NewGuid)] public Guid UniqueId { get; set; } @@ -58,7 +58,7 @@ namespace Umbraco.Core.Persistence.Dtos [Column("nodeObjectType")] // TODO: db rename to 'objectType' [NullSetting(NullSetting = NullSettings.Null)] - [Index(IndexTypes.NonClustered, Name = "IX_" + TableName + "_ObjectType")] + [Index(IndexTypes.NonClustered, Name = "IX_" + TableName + "_ObjectType", IncludeColumns = "parentId,level,path,sortOrder,trashed,nodeUser,text,createDate")] public Guid? NodeObjectType { get; set; } [Column("createDate")]