Web 应用程序中准备好的查询的性能和可扩展性优势?

Performance and scalability benefits of prepared queries in web applications?

我正在将一个长期存在的 Web 应用程序(基于 .net webforms,带有一些经典 ASP)从 SQL Server 2000 迁移到 SQL 服务器 2014

我应该重构查询以使用准备好的语句吗?在大多数情况下,Web 应用程序将准备并执行每个查询。同一查询的下一个用户将准备,然后再次执行它。

使用准备好的 SQL 查询代替直接执行是否有任何性能优势或扩展优势?它会帮助 table 服务器的查询规划器避免重复昂贵的操作吗?

是否有任何安全的方法将准备好的查询对象存储在网络服务器 (IIS) 中以便下一个客户端可以重用它们?

我知道 Oracle 这样做有很大的优势;它可以重用准备好的语句的执行计划,并且其优势远远超过重新准备相同语句的成本。在 SQL Server 2014 上也是如此吗?

(我知道使用准备好的语句来克服 sql 注入漏洞;我不是问这个。)

这里的问题专门针对 SQL 服务器,Microsoft 产品。

很多人在评论中都这么说,但我将其作为答案发布,因为它是对问题的回答:

SQL 服务器缓存计划。如果它在缓存中,它不会重新编译您的查询。准备语句没有优势,这已经由缓存完成。