我有一个简单的3列表来跟踪未完成的计算。第一列是链接到客户表的整数外键。第二个是日期,第三个是优先级标志。该表的主键是客户端FK和日期的组合。
此表用于计算队列,因此会产生很多流失。但是,我注意到的是,使用此表本身有时要比排队的实际计算要慢。具体来说,当它有大约1000行并且计算被短路时,从队列中仅删除一行并调用SaveChanges平均需要三秒钟。
随着该表的不断添加和删除,这三秒钟很快就累了。而且必须串行执行以确保按正确的顺序处理队列。删除三列表上的一行似乎是非常漫长的时间。
我猜这应该归咎于组合键...?但是我不确定,我还是MS SQL和EF Core的新手。谁能指出我正确的方向来进行分析以找出瓶颈?
答案 0 :(得分:1)
首先,我将通过Visual Studio(Debug > Performance Profiler
)对应用程序进行性能分析,以查看问题的实际出处:
我希望这些想法可以帮助您解决问题。祝你好运;-)