<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head>
<card title="关系型数据库访问性能优化法则之程序员篇2" id="card1">
<p> 游客</p><p>
标题:关系型数据库访问性能优化法则之程序员篇2<br/>
正文:<br/>
3、减少交互次数3.1、batch DML数据库访问框架一般都提供了批量提交的接口，jdbc支持batch的提交处理方法，当你一次性要往一个表中插入1000万条数据时，如果采用普通的executeUpdate处理，那么和服务器交互次数为1000万次，按每秒钟可以向数据库服务器提交10000次估算，要完成所有工作需要1000秒。如果采用批量提交模式，1000条提交一次，那么和服务器交互次数为1万次，交互次数大大减少。采用batch操作一般不会减少很多数据库服务器的物理IO，但是会大大减少客户端与服务端的交互次数，从而减少了多次发起的网络延时开销，同时也会降低数据库 的CPU开销。 假设要向一个普通表插入1000万数据，每条记录大小为1K字节，表上没有任何索引，客户端与数据库服务器网络是100Mbps，以下是根据现在一般计算机能力估算的各种batch大小性能对比值：                         　单位：ms            No batch            Batch=10            Batch=100            Batch=1000            Batch=10000                            服务器事务处理时间                        0.1                                    0.1                                    0.1                                    0.1                                    0.1                                        服务器IO处理时间                        0.02                                    0.2                                    2                                    20                                    200                 <br/><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=115&amp;Page=1">[&lt;&lt;]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=115&amp;Page=1">[[1]]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=115&amp;Page=2">[2]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=115&amp;Page=3">[3]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=115&amp;Page=16">[&gt;&gt;]</a><br/>
<br/>
<a href="wap.asp?act=Com&amp;id=115">查看评论(0)</a><br/>
<a href="wap.asp?act=AddCom&amp;inpId=115">发表评论</a><br/><br/>

<br/>

<br/>
<a href="http://camnpr.com/wap.asp">首页</a>
</p>
</card>
</wml>