参数缓存如何提高ADO.NET中的性能

本文关键字:性能 NET ADO 缓存 何提高 参数 | 更新日期: 2023-09-27 18:00:40

为了加深我对ADO.NET的了解,在阅读企业库代码时,我注意到它们使用了一种名为"参数缓存"的技术

有人能向我解释一下这是如何提高性能的,以及在哪些情况下会有所帮助吗?

性能的提高是纯粹来自DbParameter对象的构建成本,还是SQL Server方面在查询计划方面发生了其他事情?

我认为,第一次组装DbCommand对象并将其与相应的DbParameter对象连接时,SQL Server此时会缓存一个执行计划,随后使用相同的参数模板调用相同的过程会重用服务器上现有的缓存执行计划吗?

参数缓存如何提高ADO.NET中的性能

我认为这纯粹是为了避免在调用SqlCommandBuilder.DeriveParameters:时发生数据库往返

如果参数信息已知提前通过填充参数集合明确地设置信息。