在数据库访问过程中,虽然表中记录的多少会对访问速度产生一定的影响,但一般来说在数据库访问过程的效率更多地取决于数据连接次数、连接时间、指令发送的内容及频度等,这些才是影响程序性能的决定性因素,特别是当与数据库操作相关的请求数和并发量较大时更是如此。因此,对数据库操作的优化主要也从这几个方面着手。常见的方法如下。
(1)避免频繁建立连接
数据库的连接建立过程由于涉及环境准备、多次交换验证信息等一系列操作,整个过程相对复杂,消耗的资源相对较多,是整个数据库操作中最耗资源的过程。因此,应尽可能避免频繁建立连接的过程。另外,及时已经使用了缓存池技术,也要注意逻辑处理过程的效率,例如,要在各类参数准备完毕后再建立连接,而不是一开始建立连接在准备各类参数。
(2)尽可能知己提交查询语句
在操作大量数据时,除必须用Select语句生成记录集Rwcordset的情况外,直接使用SQL指令比使用Recordset对象快,数据量越大越明显,如批量更新、删除等,主要原因在于SQL指令试一次下给数据库的,让数据库整批处理数据,而Recordset对象则是逐条操作数据记录。因此,进行批量数据库插入、更新及 删除操作时,应尽可能地直接向数据库提交相关SQL语句。
(3)尽可能少提交数据库SQL语句才次数
不停地提交SQL语句会严重影响数据库访问效率,因此,在涉及到多表间的交叉操作时,应精心设计联合查询语句或使用存储过程以减少SQL语句提交次数。
(4)使用数字序列读取字段值
在使用数据集访问数据库的过程中,数据集对象往往提供了两种访问字段的方式:使用字段的索引或者直接使用字段名。从程序可读性方面考虑,使用后者更为合适。但是从程序小陆角度来说,前者则更适合Web应用。这是因为数据集最终还是通过数字索引才能取得相应数字序列。因此,若直接使用数据序列,则可以提高读取速度。若感觉使用数字序列后,程序可读性不直观,可以采用建立常量的方法。
(5)及时释放连接
数据库的连接是最消耗资源的操作,同一时刻数据库能接受的连接数是有限的,因而数据库的链接是非常宝贵的资源。因此,当数据已从库中读取或已修改完成后,应立即断开连接,以尽可能减少连接的空耗现象。