我们使用 MVC4、ASP.NET 4.5、Entity Framework 6。
当我们使用 Azure SQL 数据库 v11 时,通过 EF 进行初始记录插入和删除,运行良好且快速。然而现在,在 v12 上,我注意到初始插入和删除可能非常慢,特别是如果我们在插入时选择新值。如果我们插入具有相同值的新记录,响应很快。我所说的延迟在 S1 上约为 30 秒,在 S2 上约为 15 秒,在 S3 上约为 7 秒。
正如我所说,我们在 v11 上从未遇到过这种情况。
感谢您提出的任何想法。
编辑1
刚刚进行了一些诊断,看来我现在使用的 View 第一次运行速度非常慢:
db.ExecuteStoreCommand("DELETE FROM Vw_Widget where Id={0}", ID);
我是否需要为 Azure SQL 数据库 v12 重新调整 View ?
编辑2
再看一下代码,我发现我已经向 View 添加了一个删除触发器,所以基本上我已经设置了一个 View ,这样我就可以在某些情况下使用这个触发器代码。我现在尝试取出触发代码并从应用程序运行它,这确实运行得更快。也许这段代码应该是一个存储过程。
最佳答案
您肯定需要对 View 进行一些诊断,以检查查询的性能,并且可能需要调整查询。您所说的时间测量值太高,无法执行任何操作。请确保在目标表而不是 View 上执行插入或删除操作。最佳实践是不要使用 View 来插入或删除。
您只能在 select 语句中使用 View 。
关于azure - Azure SQL 数据库 v12 : the database is always slow on the first insert or delete execution, 出现奇怪问题,但 V11 则不然,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34288731/