> 데이터 베이스 > MySQL 튜토리얼 > Oralce预编译Sql语句在JDBC中的处理

Oralce预编译Sql语句在JDBC中的处理

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
풀어 주다: 2016-06-07 17:10:28
원래의
1037명이 탐색했습니다.

预编译接口PreparedStatement是java.sql中的一个接口,它是Statement的一个自接口。Statement执行Sql语句时,需要将完整的Sql发送

一、预编译的SQL语句处理

预编译接口PreparedStatement是java.sql中的一个接口,它是Statement的一个自接口。Statement执行Sql语句时,需要将完整的Sql发送给数据库,数据库经过编译后再执行。预编译的语句和Statement对象不同,在创建PreparedStatement对象时指定了Sql语句,该sql语句立刻发送给数据库进行编译。当编译语句执行时,直接运行编译后的Sql语句,而不像其他Sql语句先经过编译在执行。预编译的SQL语句处理性能稍微高于普通的传递变量的办法。

二、对web项目持久层的封装

通过对Oracle动态参数绑定的理解。使用Oracle占位符:的语句会通过SGA中的共享池来直接对该SQL语句进行缓存,那么在下一次执行类似语句时就直接调用缓存中已解析过的语句,以此来提高执行效率。

现在有很多持久层框架,,就我个人喜好,还是喜欢最原始的Sql方式,如果一个程序员不会写Sql那他就不是一个程序员。

针对上面对Sql预编译和Oracle缓存机制的解释,大家似乎也想到了,使用PreparedStatement可以提高Sql的执行效率,但是?占位符并不能缓存到SGA,下次执行该DAO方法还会经过预编译的过程,所以将带有:占位符的Sql做为参数传给PreparedStatement中缓存到SGA中,这样可以进一步提高持久层的开发效率。

linux

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿