作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们正在使用SQL Server和GORM(Grails /休眠)。
最近,我们的DBA询问我是否可以在数据库中的某个关键路径表上使用存储过程代替普通的Hibernate预备语句。他不关心性能或诸如此类的事情,而是解释说,他很难描述Hibernate准备好的语句,因为,松散地引用:“在 session 中的某处,您会得到一个带有SQL文本的准备好的语句...此后您只需要得到准备好的语句的执行者即可。在生产系统中协调两者几乎是不可能的。”
当然,我希望在我们的应用程序中使用具有正常插入/更新/删除行为的域类,而不是手动构建/执行准备好的语句。所以我想到了两个问题:
--sp_prepare on first execute
declare @p1 int
set @p1=8
exec sp_prepare @p1 output,N'@P0 int',N'select <columns> from <table> where <primary key> = @P0 ',1
select @p1
go
--sp_execute thereafter
exec sp_execute 8,1
go
最佳答案
如果是 sp_prepare
,则有一个article on SQL Server Central表示您可以在Hibernate配置中将其关闭,例如:
<property name='prepare_sql'>false</property>
prepare_sql
的情况下,Hibernate将改变
parameter size for strings。这将使SQL Server的计划缓存无用。您可能需要进一步调查。
关于sql-server - 此后,在SQL Server分析 session 中,将已编译的准备好的语句与exec进行协调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16967521/
我们正在使用SQL Server和GORM(Grails /休眠)。 最近,我们的DBA询问我是否可以在数据库中的某个关键路径表上使用存储过程代替普通的Hibernate预备语句。他不关心性能或诸如此
我是一名优秀的程序员,十分优秀!