提升数据访问层的性能(2)
采集日期:2008-5-2作者:zgqtxwd(注:本数据由系统自动采集,内容与BHCODE无关)
3.选择优化性能的功能 3.1.使用参数标记作为存储过程的参数 调用存储过程时,用参数标记做为参数尽量不要用字符做参数。JDBC驱动调用存储过程时要么象执行其他SQL查询一样执行该过程,要么通过RPC直接调用来优化执行过程。如果象SQL查询那样执行存储过程,数据库服务器先解析该语句,验证参数类型,然后把参数转换成正确的数据类型,显然这种调用方式不是最高效的。 SQL语句总是做为一个字符串送到数据库服务器上,例如, “{callgetCustName(12345)}”。 在这种情况下,即使程序员设想给getCustName唯一的参数是整型,事实上参数传进数据库的仍旧是字符串。数据库服务器解析该语句,分离出单个参数值12345,然后在把过程当作SQL语言执行之前,将字符串“12345”转换成整型值。 通过RPC在数据库服务器中调用存储过程,就能避免使用SQL字符串带来的开销。 情形1 在这个例子中,就不能使用服务器端的RPC优化调用存储过程。调用的过程包括解析语句,验证参数类型,在执行过程之前把这些参数转换成正确的类型。 CallableStatementc