易截截图软件、单文件、免安装、纯绿色、仅160KB

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
 
 
 


相关文档:

VC ADO ACCESS 获取列名

BOOL GetAllFields(_RecordsetPtr m_pRecordset,CStringArray & fieldsarray)
    {
        if (m_pRecordset)
        {
            if (m_pRecordset->State)
  &nbs ......

Access的转移字符

Access中数据库转义字符规则:
 
插入、更新、=匹配 数据时,文本类型如用''括起来,中间可以有 ",*,%,[,],\,/,?,(,),{,}的任意组合,如要插入一个',需写''并在整个表达式外套一对''
如,插入 '张''三',数据库里就是 张'三,用方括号是不可以的
 
插入、更新、=匹配 数据时,文本类型如用""括起来,中间可以 ......

access日期和时间函数

access日期和时间函数
 
access日期和时间函数
------------------------------------------------
设置当前日期或时间。 Date ,Now, Time
计算日期: DateAdd, DateDiff, DatePart
返回日期: DateSerial, DateValue
返回时间: TimeSerial, TimeValue
设置日期或时间: Date, Time
计时: Timer
在帮助 ......

总结一点Access与Sqlserver的sql的差异

最近整理出来的.如果不完全的话希望大家补充.
在access中,转换为大写的sql函数是ucase,在sqlserver中,转换为大写的函数是upper;在access中,转换为小写的函数是lcase,在sqlserver中,转换为小写的函数是lower;在access中,取当前时间的函数是now,另外还有一个取日期函数date,在sqlserver中,取当前的函数是getdate ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号