Access和Firebird的性能比较
虽然Firebird总体上是比Access好,但是没有传说的那么好,至少在Net环境下。
1、测试环境
A、系统环境
操作系统:Windows XP Professional Server Pack 2
CPU:Intel(R) Pentium(R) 4 CPU 3.00GHZ 2.99GHZ
内存:1G
B、代码环境
NET2.0、Access2003、Firebird2.1、
Firebird的NET2.0访问API(FirebirdSql.Data.FirebirdClient.dll)
2、数据库
EmployeeInfo表:
CREATE TABLE EMPLOYEEINFO(
EID Integer NOT NULL,
ENAME Varchar(50),
ETELEPHONE Varchar(50),
EMOBILE Varchar(50),
EADDRESS Varchar(200),
EWORK Varchar(50),
ECOMPANY Varchar(50),
EAGE Integer,
ESCHOOL Varchar(50),
EBIRTHDAY Date,
EFAVOURATE Varchar(500),
ISMVP Integer,
ELEVEL Integer,
ENABLE_FLAG Integer,
CONSTRAINT EMPLOYEEINFO_NAME PRIMARY KEY (EID)
);
3、测试代码
见附带文件
4、性能比较
下面的数字是以毫秒为单位的,对于两个数据库连接的性能在4.1中有记录,因为其他的操作连接的性能基本相同,所以在其他的比较中省略了。
新增操作:需要从数据表中获取ID,所以都需要执行ExecuteScalar
Access:SELECT max(EId) + 1 from EmployeeInfo
Firebird:SELECT first 1 GEN_ID( EMPLOYEEINFO_KEY_GEN, 1) from RDB$GENERATORS
预编优化:这种方式是采用IDbCommand的Prepare方法来进行的。
4.1、单条数据的操作比较
1、新增操作
IDbConnection.Open()
IDbCommand.ExecuteScalar()
IDbCommand.ExecuteNonQuery()
Access
174.238416
102.448561
41.695030
159.298931
101.921224
41.537487
185.202748
102.383310
36.008230
FireBird
381.801163
59.864800
38.652679
360.196079
69.475482
39.371224
343.838800
60.606686
39.241575
2、 修改操作
Access
FireBird
IDbCommand.ExecuteNonQuery()
125.531627
88.544622
105.508891
88.177334
145.817176
107.016208
4.2、100条数据的操作比较
1、新增操作
IDbCommand.ExecuteScalar()
IDbCommand.ExecuteNonQuery()
Access
275.494317
234.020361
261.396954
237.707107
252.611140
253.758009
 
相关文档:
uses
ADODB;
procedure TForm1.SetupTable(sender:tobject);
Var
adocon1:TADOConnection;
strSQL:string;
Const
SConnectionString= 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;'
+'Jet OLEDB:Database Password=%s;';
begin
adocon1:=TADOConnection.creat(self);
adocon1.ConnectionString:=format(S ......
/************************************************************************
* Description: 访问zip中的htm 之 Widgets学习
* Author: 陈相礼
* Compiled: VC8 + wxWidgets2.8.10
* Date: 04/02/10
************************************************************************/
/******************************** ......
mysql 明明已经装好了,但是无法访问。链接的时候 总是说
Access Denied.
解决方法:
用mysqld --skip-grant-table启动mysql
然后在mysql库中执行这个
INSERT INTO user VALUES ('localhost', 'root', PASSWORD('some_pass'), 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y', 'Y', ......
access日期和时间函数
access日期和时间函数
------------------------------------------------
设置当前日期或时间。 Date ,Now, Time
计算日期: DateAdd, DateDiff, DatePart
返回日期: DateSerial, DateValue
返回时间: TimeSerial, TimeValue
设置日期或时间: Date, Time
计时: Timer
在帮助 ......