ObjectType and UniqueId indexes now cover all fields since anytime these are queried we return all data.

This commit is contained in:
Shannon
2020-08-25 14:49:13 +10:00
parent a078a30990
commit 68c4e4f36b
2 changed files with 10 additions and 6 deletions

View File

@@ -14,13 +14,17 @@ namespace Umbraco.Core.Migrations.Upgrade.V_8_8_0
}
public override void Migrate()
{
var nodeDtoLevelIndex = $"IX_{NodeDto.TableName}_Level";
CreateIndexes<NodeDto>(nodeDtoLevelIndex); // add the new definition
{
var indexesToReplace = new[] { $"IX_{NodeDto.TableName}_UniqueId", $"IX_{NodeDto.TableName}_ObjectType" };
DeleteIndexes<NodeDto>(indexesToReplace); // delete existing ones
// add the new definitions
CreateIndexes<NodeDto>($"IX_{NodeDto.TableName}_Level");
CreateIndexes<NodeDto>(indexesToReplace);
var contentVersionNodeIdIndex = $"IX_{ContentVersionDto.TableName}_NodeId";
DeleteIndexes<ContentVersionDto>(contentVersionNodeIdIndex); // delete existing ones
CreateIndexes<ContentVersionDto>(contentVersionNodeIdIndex); // add the updated definition
CreateIndexes<ContentVersionDto>(contentVersionNodeIdIndex); // add the updated definitions
}
private void DeleteIndexes<T>(params string[] toDelete)

View File

@@ -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")]