我有一个简单的3列表来跟踪未决计算。第一列是链接到clients表的整数Foreign Key。第二个是日期,第三个是优先标志。表的主键是客户端FK和日期的组合。
此表用于计算队列,因此它会看到大量的流失。然而,我注意到,使用此表本身有时比它的队列实际计算速度慢。具体来说,当它有大约1000行,并且计算被短路时,从队列中只删除一行并调用SaveChanges平均需要3秒。
随着这个表不断被添加和删除,这三秒钟加起来很快。并且必须以连续方式完成,以确保以正确的顺序处理队列。这似乎是一个非常长的时间来删除三列表上的单行。
我猜这个复合键应该归咎于......?但我不确定,我是MS SQL和EF Core的新手。任何人都可以指出我正确的方向来分析这个以确定瓶颈吗?
我将首先通过Visual Studio(Debug > Performance Profiler
)分析应用程序以查看问题的实际位置:
我希望这些想法可以帮助您解决问题。祝好运 ;-)