不同数据库类型的速度排序从快到慢大致如下:Paradox → Access → DBISAM → dBase。
要提高数据库访问速度,尤其是遍历速度,还可采用以下措施。
1、用字段序号读写数据而不要通过字段名,我对Paradox数据库进行测试,两者速度相差一倍。即将Table->FieldByName("")->Asxxx改为Table->Fields->Fields[i]->Asxxx,速度提高近一倍。当然FieldByName("")比Fields[i]的兼容性好,当表的结果发生变化时不用改动程序,而且程序的易读性好,所以对速度不做要求时,最好使用FieldByName("")。
2、不要用控制数据显示组件的TTable来访问数据库,尤其是当用于显示控制的TTable中创建了计算字段时,最好动态创建新的TTable对象来访问数据库。
3、读数据时可设置每次读入一块数据,如:Table->BlockReadSize=Table->RecordCount+1;这可大大提高读数的速度,但这一参数数设为其它值时可能会出现一些问题,我也不知为什么?