`

性能优化

    博客分类:
  • java
阅读更多
(1)jdbc性能优化

jdbc程序的性能主要由两个因素决定,一是数据库本身的性质,另一个是与数据库相对独立的jdbc应用程序接口(api)的使用.
这里说的是如何正确使用jdbc编程接口,以获得更好的性能.
jdbc主要优化有:
1.选择正确的jdbc驱动程序
2.Connention的优化 使用连接池来管理Connection对象
3.Statement的优化 使用批量更新等
4.Result的优化 正确的从数据库中get数据等
(1)选择正确的jdbc驱动程序:
1 jdbc-odbc 桥
2 本地api-部分 java驱动
3 jdbc网路协议-纯java驱动
4 jdbc本地协议
最好选择 jdbc网路协议-纯java驱动 效率比较高 但需要第三方软件的支持 比如corba weblogic属于这种类型
(2)优化Connection对象:
1.设置适当的参数 DriverManager.getConnection(String url,Properties props);
例如: Properties props=new Properties();
props.put("user","wuwei");
props.put("password","wuwei");
props.put("defaultRowPrefectch","30");
props.put("dufaultBatchValue","5");
Connection con=DriverManager.getConnection("jdbc:oracle:thin:@hostsString",props);
对象可以通过设置setDefaultRowPrefetch(int) 和 setDefaultBatchValue(int) 两个参数类优化连接

2.使用连接池 可以自己写一个连接池 这样程序的灵活性强,便于移植.
apache项目开发了一套非常通用而表现非常稳定的对象池 http://jakarta.apache.org/commons/pool.htm
设计了自己的连接池后 在客户端调用建立对象
public Object makeObject() throws Exception{
Class.forName("oracle.jdbc.driver.OracalDriver");
return DriverManager.getConnection("url","username","password");
}
销毁对象时用
public void destroyObject(Object obj) throws Exception{
((Connection)obj.close());
}
注意几点 对象池里有没有回收机制,对象池里有机有容量限制,对象池里有多少个闲置对象(可以释放)
3.控制事务的提交 最好手动提交事务,不但可以可以保证数据原子性,而且对新能提高留下余地.
try{
connection.setAutoCommint(false);
// 代码 用PreparedStatement 性能比Statementh好.

connection.commit();
connection.setAutoCommit(true);
}
catch(SQLException e){
}
finally{
//代码
if(connection!=null){
connection.close();
}
}

4.适当的选择事务的隔离级别 TRANSACTION_READ_UNCOMMITED 性能最高
TRANSACTION_READ_COMMITED 快
TRANSACTION_REFEATABLE_READ 中等
RANSACTION_SERIALIZABLE 慢
(3)Statement 优化
jdbc3个接口用来处理sql的执行,是Statement PreparedStatement CallableStatement
提供适当的Statement接口
批量执行sql
从数据库批量获取数据
PreparedStatement 比Statement性能要好 主要体现在一个sql语句多次重复执行的情况
PreparedStatemnt只编译解析一次而Statement每次编译一次.
批量修改数据库
Statement 提供了方法addBatch(String)和executeBatch()
调用方法为stmt.addBatch("isnert....."); stmt.addBatch("update.....")
stmt.executeBatch();
也可以用PreparedStatement从而更好的提高性能.
pstmt=conn.preparedStatement("insert into test_table(......) values(....?)");
pstmt.setString(1,"aaa");
pstmt.addBatch();
pstmt.setString(1,"bbb");
pstmt.addBatch();
.....
pstmt.executeBatch();
批量地从数据库中取数据.
通过setFetchSize()和getFectchSize()方法来设定和查看这个参数.这个参数对体统的性能影响比较大.
这个参数太小会严重地降低程序地性能.
Connection Statement ResultSet都有这个参数,他们对性能地影响顺序是:
ResultSet---------Statement---------Connection

 

分享到:
评论

相关推荐

    C++性能优化技术导论.pdf

    C++性能优化是一个复杂的主题,它涉及编译器、算法、语言特性、硬件架构以及操作系统等多个层面。性能优化的目标是提升软件执行效率,减少资源消耗,缩短响应时间,以及提高吞吐量。下面将详细介绍这些性能优化的...

    前端性能优化与实践.zip

    在前端开发领域,性能优化是提升用户体验的关键环节。"前端性能优化与实践.zip"这个压缩包包含了一系列关于前端性能优化的深度文章和教程,涵盖了浏览器缓存机制、首屏加载优化、服务端渲染、事件处理策略、图片优化...

    大型网站性能优化实战从前端网络CDN到后端大促的全链路性能优化 带书签完整版

    ### 大型网站性能优化实战从前端网络CDN到后端大促的全链路性能优化 #### 一、基于用户体验的性能优化要素 在现代互联网应用中,用户体验是衡量一个网站成功与否的重要标准之一。良好的用户体验不仅仅体现在美观的...

    千金良方:MySQL性能优化金字塔法则.docx

    MySQL性能优化金字塔法则 MySQL性能优化是指通过调整MySQL数据库的配置、优化数据库结构和查询语句等方式,提高MySQL数据库的性能和响应速度,以满足应用程序的需求。MySQL作为最流行的开源数据库之一,被广泛应用...

    Android性能优化.pdf

    【Android性能优化】是Android开发中的重要环节,涵盖了多个关键领域,包括ANR问题解析、crash监控方案、启动速度与执行效率优化、内存优化、耗电优化、网络传输与数据存储优化以及APK大小优化。 **ANR问题解析**是...

    VMware vSphere 6.7 性能优化最佳实践

    VMware vSphere 6.7 性能优化最佳实践 VMware vSphere 6.7 是一款功能强大且流行的虚拟化平台,为用户提供了强大的虚拟化解决方案。然而,为了确保 VMware vSphere 6.7 的最佳性能,需要遵循一定的优化实践。本文将...

    ORACLE SQL性能优化系列

    ORACLE SQL性能优化系列 ORACLE SQL性能优化是数据库管理员和开发者非常关心的一个话题。为了提高数据库的性能,ORACLE 提供了多种优化技术。下面我们将详细介绍 ORACLE SQL 性能优化系列中的一些重要知识点。 一...

    C++高效编程:内存与性能优化(pdf版)

    《C++高效编程:内存与性能优化》是一本专注于C++编程语言内存管理和性能调优的书籍。本书深入探讨了如何在C++编程中高效地使用内存资源,以及如何进行性能优化,以编写出既高效又优雅的代码。 书籍作者Rene ...

    SQLServer性能优化与管理的艺术

    资源名称:SQL Server性能优化与管理的艺术内容简介:本书共15章,分为三部分,第一部分(第1-2章)为概述部分,阐述SQLServer方面的“性能”及相关概念。并给出常规的性能及性能相关的问题侦测的“方法论”,读者...

    前端性能优化探索.pdf

    前端性能优化探索 前端性能优化是当前互联网开发中的一个重要话题。随着互联网技术的快速发展,Web前端技术也逐渐成为了互联网开发的重要一环。然而,在如今这个追求极致体验的时代,我们不仅要实现业务需求,更...

    MySQL性能优化和高可用架构实践.pptx

    "MySQL性能优化和高可用架构实践" 本书《MySQL性能优化和高可用架构实践》是一本详细介绍MySQL性能优化和高可用架构实践的书籍,旨在帮助读者提升MySQL数据库的性能和可靠性。本书的内容涵盖了查询优化的基本原则和...

    华为5G性能优化指导手册-SA.docx

    华为5G性能优化指导手册-SA主要关注5G网络在服务连续性和用户感知方面的优化,尤其在SA(独立组网)模式下。这份手册旨在解决网络中存在的“点、线”问题,确保NSA(非独立组网)网络稳定运行,提供优质的5G体验。 ...

    达梦数据库的性能优化收集.pdf

    达梦数据库性能优化 达梦数据库作为国产数据库市场占有率第一的高性能、高可靠性、高安全性、高兼容性大型关系型数据库管理系统,已经成功替代了Oracle,在电力、金融、电子政务、教育等行业领域得到了广泛的应用,...

    《C程序性能优化-20个实验与达人技巧》

    《C程序性能优化-20个实验与达人技巧》是一本深入探讨C语言程序性能提升的书籍,旨在帮助开发者理解程序执行效率的本质,掌握优化技巧,从而编写出更高效的代码。书中通过20个精心设计的实验,由浅入深地讲解了性能...

    前端性能优化原理与实践.zip

    在前端开发领域,性能优化是提升用户体验和网站可访问性的重要环节。这本"前端性能优化原理与实践"小册子深入探讨了如何通过一系列技术手段优化前端页面,旨在帮助开发者构建更快、更流畅的Web应用。以下是该压缩包...

    Unity性能优化.pptx

    Unity性能优化 Unity性能优化是指在游戏开发中提高游戏性能的过程,包括优化CPU和GPU的使用,以提高游戏的帧率和画质。下面是 Unity性能优化的相关知识点: 1. Unity性能调试工具及使用方法 Unity提供了多种...

    快手 APM 平台建设与性能优化.pdf

    快手 APM 平台建设与性能优化 APM(Application Performance Management)是指对应用程序性能的监控和优化,以提高用户体验和满意度。在快手平台中,APM 的重要性不言而喻。本文将从快手 APM 平台建设的角度,探讨...

    SQLite3的性能优化

    SQLite3 的性能优化 SQLite3 是一个轻量级的关系数据库管理系统,常用于嵌入式系统中。在嵌入式系统中,数据库的性能优化尤为重要。本文将主要讲述在嵌入式中使用 SQLite3 时,对相关的数据库的性能如何优化的问题...

Global site tag (gtag.js) - Google Analytics