- 4
- 0
- 约1.78千字
- 约 7页
- 2017-02-12 发布于重庆
- 举报
06提高数据处理的效率
提高数据处理的效率(1) 主要内容 提高数据处理效率技术概述 数据库处理SQL语句的效率问题 预备语句PreparedStatement 提高数据处理效率技术概述 数据库接受来自众多客户端传送过来的SQL语句,并尽可能快的执行完操作返回结果。处理SQL语句是一个开销昂贵的操作,而保持数据库连接也是非常消耗系统资源的事情,对于普通的小量应用,看起来每什么问题,但是对于企业级的应用,如果不考虑效率问题,将可能造成很严重的后果。 提高效率的方式很多,有硬件性能的提高,有驱动的优化,有程序的优化,总结起来,常见的技术有: 选择合适的驱动 优化建立的连接 采用连接池技术 优化SQL语句 采用PareparedStatement 采用CallableStatement …… 本讲主要讨论PareparedStatement和连接池技术, CallableStatement将结合存储过程讲解。 数据库处理SQL语句的效率问题 数据库如何执行一个SQL语句? 当数据库收到一个SQL语句后,数据库引擎会首先解析它,检查是否有语法错误。一旦该SQL语句被正确解析,数据库会为它生成一个存取方案(执行最优途径),然后数据库引擎按照此方案执行。存取方案的生成会占用很多CPU处理时间,整个操作在这里付出了很大的开销。 理想的情况应该是,当多次发送同一个SQL语句到数据库,数据库应该能对该SQL语句的存取方案进行重用。事实上,数据库已经具备了这个功能,它们通常会将SQL语句本身作为key,将对应的存取方案作为value存入缓存中,这样数据库引擎就可以对曾经执行过的SQL语句的存取方案进行重用。 数据库处理SQL语句的效率问题 思考1:两次发送 select a from t where b = 0 到数据库,存取方案是怎样重用的? 思考2:下面的代码,存取方案能否重用? Statement stmt = con.createStatement(); for(int i=0; i10000; i++) { ResultSet rs = stmt.executeQuery(select * from employees where dept_id = + i); rs.close(); } 存取方案不会被重用,因为每次循环发送的SQL语句都不同,均会生成新的存取方案,数据库缓存的作用不能发挥。 预备语句PreparedStatement 继承自Statement,但有两方面的不同: PreparedStatement可将SQL语句事先编译并存储,也就是使语句“准备好”: PreparedStatement pstmt = con.prepareStatement(“SQL语句”) 准备好的SQL语句可具有一个或多个IN参数,IN参数的值在SQL语句创建时不指定,而是使用一个 ?作为占位符,每个问号(IN参数)的值必须在该语句执行之前,通过适当的setXxx方法设置。 另外,PreparedStatement中扩展的executeQuery和executeUpdate方法不再需要参数,因为要执行的SQL语句在该PreparedStatement对象创建的时候就准备好了。 如果要重复执行相同形式的SQL语句,使用PreparedStatement效率比Statement高。 举例,比较PreparedStatement和Statement的执行效率 预备语句PreparedStatement 应用举例,使用PreparedStatement向employees表中插入两条纪录,演示PreparedStatement的使用方法。 PreparedStatement适用于相同的SQL语句需要重复执行多次的情形,如果重复次数较多,用批处理的方式执行效率更高: 每次调用完setXxx方法设置好参数后,并不立即直接执行,而是利用addBatch方法将命令先存储起来,直到所有数据都准备好了后,再调用executeBatch方法一起执行。 PreparedStatement相对于Statement的另一个好处: 思考在Statement的execute***(sql)方法中,怎样加入String类型的java变量 * *
您可能关注的文档
- 06岁儿童残疾筛查工作规范.doc
- 06工业锅炉节能的方向.ppt
- 06工程造价相关知识模拟题.doc
- 06年《环境与资源保护法》听课笔记(七).doc
- 06年《线性代数与几何》(下)第1次课-北京大学.ppt
- 06年《线性代数与几何》(下)第1次课.ppt
- 06年一级建造师《专业工程管理与实务(公路工程)》试题.doc
- 06年一级建造师考试《公路工程实务》真题及答案.doc
- 06年中级农业试题及答4.doc
- 06年二季度银行业投资策略.ppt
- 中国水墨风马年年终总结汇报PPT模板.pptx
- 企管部长2025年工作总结及2026年度工作规划思路.docx
- 排污许可证管理及重污染天气政策解读培训.pptx
- 马年春节2026新年会策划年终总结汇报述职报告模板.pptx
- 2026新年红色喜迎马年节日介绍主题班会.pptx
- 单元一 汽车溯源(课件)-《汽车文化》同步教学(人民交通出版社).pptx
- 6.3汽车俱乐部(课件)-《汽车文化》同步教学(江苏凤凰教育出版社).pdf
- 6.3汽车与交通(课件)-《汽车文化》同步教学(武汉大学出版社).pdf
- 5.1汽车竞赛概述(课件)-《汽车文化》同步教学(武汉大学出版社).pdf
- 5.1汽车发展与社会--(课件)-《汽车文化》同步教学(国防科技大学出版社).pdf
原创力文档

文档评论(0)