性能技巧之三:针对常用的SQL操作建立索引,删除多余的索引 有时,为了进一步优化应用的性能,小A会检查Java(也许应该说是SQL)代码,经常找到Java程序没有合理运用PreparedStatement和连接缓冲池的情形。只要把Statement类的动态SQL替换成PreparedStatement类的静态SQL,从连接池...
显示全部
性能技巧之三:针对常用的SQL操作建立索引,删除多余的索引
有时,为了进一步优化应用的性能,小A会检查Java(也许应该说是SQL)代码,经常找到Java程序没有合理运用PreparedStatement和连接缓冲池的情形。只要把Statement类的动态SQL替换成PreparedStatement类的静态SQL,从连接池提取SQL连接(而不是直接创建连接),应用的性能将得到显著的改善。注意DB2 UDB(包括其他一些数据库)的PreparedStatement是可调整和配置的。
性能技巧之四:合理运用PreparedStatement和连接池
进一步分析应用的工作流程之后,小A有时会建议批量执行某些SQL命令,这样就只需一个对数据库服务器的请求就可以运行大量的SQL命令。
性能技巧之五:考虑批量执行SQL命令
既然如此,小A有时还会指出,如果应用中有些SQL命令可以组合成单个事务逻辑,那么应该可以用一个存储过程来替代。DB2 UDB的存储过程语言(SPL,Stored Procedure Language)非常强大,如果把数据库操作逻辑从Web应用转移到数据库,一般总是对性能有益。不过需要注意的是,虽然批量执行SQL命令或使用存储过程会提高性能,但就象重新构造数据库结构一样,有时会带来维护方面的困难。
性能技巧之六:考虑使用数据库存储过程
检查JDBC代码的时候,小A总是留意对象有没有及时正确释放。这一点其实很重要。
性能技巧之七:及时关闭不用的Statement、ResultSet、Connection等对象(但不是在finalize方法内)
收起