首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MSSQL查询执行计划缓存和JDBC

问MSSQL查询执行计划缓存和JDBC
EN

Stack Overflow用户
提问于 2018-04-18 18:37:46
回答 1查看 464关注 0票数 0

我正在使用一个基于java的web应用程序,我们使用Microsoft SQL server作为数据库服务器。在那里,我们有几个长时间运行的SQL查询,我们正在寻找提高这些查询性能的选项。

当我开始阅读有关查询性能改进的文章时,我发现SQL Server缓存了查询执行计划,下次它可以从缓存中重用这些计划,而无需创建新的执行计划。我用SET STATISTICS TIME ON;在MSSQL management studio控制台上试用了一下,它清楚地显示SQL Server缓存了执行计划。JDBC会自动发生这种情况吗?或者,我们需要遵循任何特定的说明吗?我试着用谷歌搜索,但没那么走运。

EN

回答 1

Stack Overflow用户

发布于 2018-04-18 18:48:09

是的,它发生在JDBC中。只需小心,将准备好的语句(https://docs.oracle.com/javase/8/docs/api/java/sql/PreparedStatement.html)与绑定变量一起使用即可。例如:

代码语言:javascript
复制
select * from tab where col = 'somevalue'

不同于:

代码语言:javascript
复制
select * from tab where col = 'someothervalue'

但两者在编写时都可以使用相同的计划:

代码语言:javascript
复制
select * from tab where col = ?
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49897593

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档