如何提高JDBC的性能


Posted in 面试题 onApril 30, 2013
1.使用数据连接池(Connection Pool), 避免使用DriverManager.getConnection,参考另外一篇博客 不推荐使用DriverManager.getConnection
2.合理的配置数据连接池参数,参考另外一篇博客 如何设置数据连接池的初始大小
3.选择合适的事务等级,按照不同的数据库操作类型选择不同的事务等级。
4.及时关闭Connection,不关闭的话会严重影响系统的性能,甚至造成系统罢工。
5.优化Statement
1)选择合适的Statement, 根据不同的数据库操作选择Statement, PreparedStatement 或者 CallableStatement, 具体选择哪个可以通过搜索引擎了解。
2)尽可能的使用batch, 这样可以减少调用JDBC的次数。 具体的方法是使用statement.addBatch(“your sql”) 添加batch, 然后执行statement.executeBatch()来一起执行。
3)Statement执行完毕后关闭Statement
6.优化你的SQL, 尽量减少你的结果集,不要每次都”select * from XXX”
7.使用一些缓存工具进行缓存,特别是大数据量大访问量的系统,合理的缓存往往会显著的提高系统的性能

Tags in this post...

面试题 相关文章推荐
分解成质因数(如435234=251*17*17*3*2,据说是华为笔试题)
Jul 16 面试题
怎样从/向数据文件读/写结构
Nov 23 面试题
写一个函数返回1+2+3+…+n的值(假定结果不会超过长整型变量的范围)
Sep 05 面试题
What is view? why do we have view?
Jun 22 面试题
几个数据库方面的面试题
Jul 01 面试题
.NET面试10题
Feb 24 面试题
在C#中如何实现多态
Jul 02 面试题
Linux如何为某个操作添加别名
Mar 01 面试题
Linux如何修改文件和文件夹的权限
Sep 05 面试题
几个Shell Script面试题
Aug 31 面试题
网友共享的几个面试题关于Java和Unix等方面的
Sep 08 面试题
Prototype如何更新局部页面
Mar 03 面试题
类的核心特性有哪些
Jan 01 #面试题
Java中compareTo和compare的区别
Apr 12 #面试题
什么是典型的软件三层结构?软件设计为什么要分层?软件分层有什么好处?
Mar 14 #面试题
Ibatis如何使用动态表名
Jul 12 #面试题
得到Class的三个过程是什么
Aug 10 #面试题
Ibatis中如何提高SQL Map的性能
May 11 #面试题
什么是类的返射机制
Feb 06 #面试题
You might like
建立文件交换功能的脚本(一)
2006/10/09 PHP
php读取文件内容至字符串中,同时去除换行、空行、行首行尾空格(Zjmainstay原创)
2012/07/31 PHP
PHP的preg_match匹配字符串长度问题解决方法
2014/05/03 PHP
PHP检测用户是否关闭浏览器的方法
2016/02/14 PHP
php设计模式之职责链模式定义与用法经典示例
2019/09/19 PHP
一个js写的日历(代码部分网摘)
2009/09/20 Javascript
Javasipt:操作radio标签详解
2013/12/30 Javascript
jquery动态添加option示例
2013/12/30 Javascript
使用Javascript简单实现图片无缝滚动
2014/12/05 Javascript
基于JS如何实现给字符加千分符(65,541,694,158)
2016/08/03 Javascript
js获取浏览器和屏幕的各种宽度高度
2017/02/22 Javascript
JS实现列表页面隔行变色效果
2017/03/25 Javascript
jquery Form轻松实现文件上传
2017/05/24 jQuery
javascript 跨域问题以及解决办法
2017/07/17 Javascript
Node.js利用console输出日志文件的方法示例
2018/04/27 Javascript
Vue axios设置访问基础路径方法
2018/09/19 Javascript
详解django模板与vue.js冲突问题
2019/07/07 Javascript
谈一谈vue请求数据放在created好还是mounted里好
2020/07/27 Javascript
vue中如何自定义右键菜单详解
2020/12/08 Vue.js
用 Python 爬了爬自己的微信朋友(实例讲解)
2017/08/25 Python
Python Requests库基本用法示例
2018/08/20 Python
python 实现数字字符串左侧补零的方法
2018/12/04 Python
python_opencv用线段画封闭矩形的实例
2018/12/05 Python
python画双y轴图像的示例代码
2019/07/07 Python
python多线程与多进程及其区别详解
2019/08/08 Python
通过实例简单了解Python中yield的作用
2019/12/11 Python
简单了解Java Netty Reactor三种线程模型
2020/04/26 Python
python实现学生管理系统开发
2020/07/24 Python
CSS Grid布局教程之网格单元格布局
2014/12/30 HTML / CSS
Html5 Canvas 实现一个“刮刮乐”游戏
2019/09/05 HTML / CSS
印度和世界各地的精美产品:Ikka Dukka
2018/02/12 全球购物
Shopee新加坡:东南亚与台湾电商平台
2019/01/25 全球购物
2014年财务工作总结与计划
2014/12/08 职场文书
西安导游词
2015/02/12 职场文书
采购员岗位职责范本
2015/04/07 职场文书
制作能在nginx和IIS中使用的ssl证书
2021/06/21 Servers