.net Core 一对多关系太慢
.net Core One to Many Relationship too slow
我有一个 .netcore 应用程序,我在 PortalDBContext.OnModelCreating
中按如下方式设置了 table
modelBuilder.Entity<Parent>()
.HasMany(p => p.Childs)
.WithOne(c=> c.Parent)
.HasForeignKey(c=> c.ParentId);
Parent
Class 有一个 GUID 的 PK id 并且
public ICollection<Child> Childs { get; set; }
Child
Class 有一个 GUID 的 PK id 并且
public virtual Guid ParentId { get; set; }
SQL 探查器显示 SQL 在本地花费 0.8 秒到 运行。
table 每个人只有一手的行数。
代码调用耗时1分40秒
var context = this._dbContextProvider.GetDbContext();
var query = context.Parent.Include(p => p.Childs)
.Where(c=> c.Id == ParentId);
return await query.ToListAsync();
我不知道为什么通话时间这么长。应用程序中的其他调用只需要一两秒钟。
以上没有问题。然而,数据库中的一个列很大。它保存了一个可以包含非常大图像的编辑器的结果。 src=\"data:image/png;base64,iVBORw0KGgo...
当我从该列中删除数据时,它的运行速度与正常一样快。
然而差别很大。
SQL大数据=0.8秒。
.Net Core 带回结果 1min 40.
可能是因为 SQL 在显示 DATALENGTH 中的 13,000,000 时截断了一些文本。
我有一个 .netcore 应用程序,我在 PortalDBContext.OnModelCreating
中按如下方式设置了 tablemodelBuilder.Entity<Parent>()
.HasMany(p => p.Childs)
.WithOne(c=> c.Parent)
.HasForeignKey(c=> c.ParentId);
Parent
Class 有一个 GUID 的 PK id 并且
public ICollection<Child> Childs { get; set; }
Child
Class 有一个 GUID 的 PK id 并且
public virtual Guid ParentId { get; set; }
SQL 探查器显示 SQL 在本地花费 0.8 秒到 运行。 table 每个人只有一手的行数。 代码调用耗时1分40秒
var context = this._dbContextProvider.GetDbContext();
var query = context.Parent.Include(p => p.Childs)
.Where(c=> c.Id == ParentId);
return await query.ToListAsync();
我不知道为什么通话时间这么长。应用程序中的其他调用只需要一两秒钟。
以上没有问题。然而,数据库中的一个列很大。它保存了一个可以包含非常大图像的编辑器的结果。 src=\"data:image/png;base64,iVBORw0KGgo...
当我从该列中删除数据时,它的运行速度与正常一样快。
然而差别很大。
SQL大数据=0.8秒。 .Net Core 带回结果 1min 40.
可能是因为 SQL 在显示 DATALENGTH 中的 13,000,000 时截断了一些文本。