7)应用服务器将最终显示信息传递到浏览器。
客户执行操作的内部处理参见图
1 所示。
客户执行一项操作的响应时间是上述
7 个步骤的执行时间之和,其中 4 部分是网络传输
时间,
2 部分是应用服务器处理时间,1 部分是数据库处理时间。
在这几个部分中真正与数据库系统相关的操作时间是应用服务器与数据库系统间的网
络传输时间和数据库系统内部的处理时间。
2 数据库系统操作响应时间优化措施
根据上述分析得知数据库系统响应时间主要集中在网络传输和数据库系统内部处理时
间,针对这两种情况我们分别具体分析。
2.1 通过批处理方式优化网络传输时间
应用服务器和数据库系统之间的数据传输时间取决于传输的数据量和次数,对于定量
的数据,传输的次数将主要决定传输需要的总时间。
一次数据传输包括发送端准备数据时间、数据在网络中传输时间、接收端接收数据时间、
接收端返回响应数据在网络中传输时间。
例如向数据库表中连续插入
10 000 条记录,两种选择,第一种逐条插入,第二种批量
插入,以下是在
Oracle10g 版本中测试的跟踪信息,图 2 是逐条插入时的跟踪信息,图 3 是
每
1 000 条插入一次的跟踪信息。
图
2 显示在网络中传输数据时等待次数累计 20 000 次、累计时间 3.12 秒,图 3 显示等待
次数累计
20 次、累计时间 0.04 秒,可见批处理方式可显著降低网络传输所消耗的时间。
数据库的批处理不仅可用于向数据库中存储数据,也可以用于从数据中读取数据,图
4
显示逐条读取数据的跟踪信息,图
5 显示每次读取 1 000 条的跟踪信息。
图
4 显示网络中传输数据时等待次数累计 20 000 次、累计时间 2.69s,图 5 显示等待次数
累计
20 次,累计时间 0.18s。上述试验证明大数据量操作时,批处理方式可大幅度提高效率。
2.2 优化数据库处理时间
数据库的主要功能就是数据的存储和读取,数据库在处理数据过程中时间主要消耗在
CPU 运算和数据的读写。在一个 SQL 语句执行过程中,经过语句解析、变量绑定、执行和获取
数据
4 个过程,而这些过程效率与数据库设计及 SQL 语句的编写息息相关。
通过软解析降低数据库解析
SQL 语句时间
数据库收到一条
SQL 语句时,如果是第一次执行要进行解析,检查语法、验证表是否存
在、验证列是否存在、验证用户是否有操作权限,然后生成可执行计划,这个过程称之为硬
解析。