【发布时间】:2019-11-18 19:01:41
【问题描述】:
我有一个具有 S0 定价层的 Azure 数据库。当我运行存储过程时,在我的 ASP.NET 网站和 SSMS 中显示结果大约需要 20 秒。
现在,我将定价层级降为基本。当我运行相同的存储过程时,它会在 ASP.NET 网站中显示消息超时。当我在 SSMS 中执行存储过程时,大约需要 35 秒。
我分析我的数据库。从实际执行计划选项卡中,它建议创建一个索引。我听从了建议。我在我的表中创建了一些索引。
结果,在我的 ASP.NET 网站中只需要大约 1-2 秒即可显示结果。但在 SSMS 中,加载时间不会改变。也需要 35 秒。
我已经关闭 SSMS 并再次重新连接 Azure 数据库,但它不会更改加载时间。我的 SSMS 是 SSMS 2016(版本 13.0.16106.4)
我的 Azure 数据库会怎样?
【问题讨论】:
-
我的第一个猜测是,无论出于何种原因,SSMS 查询仍在使用旧的执行计划,而不是利用新的索引。您可以使用 sp_recompile 尝试强制系统重新编译该存储过程的执行计划。 docs.microsoft.com/en-us/sql/relational-databases/…
-
@SamaraSoucy-MSFT 我已经测试了 sp_recompile 但没有改变
标签: c# asp.net sql-server azure ssms