寻求 delphi 使用的 最高效的桌面数据库(50分)

  • 主题发起人 主题发起人 青云
  • 开始时间 开始时间

青云

Unregistered / Unconfirmed
GUEST, unregistred user!
经常做一些小软件,都要用到数据库,但是要求不高,单机版就行,所以我一般使用Access 数据库 ,通过Ado 做引擎;

目前我做了一个小软件,通过时钟每秒往数据库里某张表插入一条记录;
当插入到10万条左右的时候,数据库性能明显下降,cpu 显示 100%

我一直觉得Ado驱动效率不太好,我利用oracle数据库,分别对bde,ado ,DbExpress 这三种驱动方式做过测试,DbExpress效率最高,其次bde,ado效率最低;
当然,Ado 开发最方便,不需要安装额外的驱动;

但是,delphi 访问 Access 好像只有Ado 这一种方式,或者通过BDE 连接ODBC,ODBC连接Access,这样效率肯定不高,而且做个小软件,这样做也太麻烦了;BDE 早在4,5年基本就很少人再使用了;如果用VB开发,好像可以通过DAO 访问ACCESS,据说DAO 访问ACESS 很快的。但是delphi 好像不支持DAO这种访问方式;

所以我想,要是有个Txt类型的数据库就好了,也不需要考虑安全保密性,只要效率高,插入大量数据后,不影响性能,支持简单的Sql 语句就行;

网上找了很久,发现推荐使用:
http://www.codesky.net/article/doc/200308/2003081729101692.htm
(DBISAM--开发文件型数据库软件的法宝)

不知道有没有更简单高速的桌面数据库;
 
http://bbs.2ccc.com/topic.asp?topicid=251831
 
mysql不错的数据库,经典,高效
 
Sqlite是最佳選擇
 
mysql是免费的吗?
俺想用,
 
数据量大的话Access是比较慢,可以改用MSDE试试,用BDE的话db是最快的。
 
另外BDE也支持TEXT,速度和db查不多,但好象不支持SQL查询
 
那就是MYSQL了!
别的也就ACCESS
 
用Firebird吧,支持SQL(最新版是2.0),非常好用的,单机用嵌入版就可以了。Firebird可以用DbExpress的。
 
DBISAM 我测试过了,跟Access 差不多,到达10W条记录左右的时候,再插入就吃力;

我换在Oracle 上,就很轻松;

呵呵,看来大型数据库的优点在大量数据前才有明显的体现;

我其实是对设备控制的软件,一般有32个设备,本来把它们的所有采样信息都写在一张表上。
现在为了效率,我建立了32个表对应这32个设备;
这样软件通用性是差了,但是效率应该有不少提升。
 
单机版效率最高还是 delphi 自带的 Paradox,虽然发布稍微麻烦点。尽管 Borland 已停止开发 Paradox,但在单机使用中,它确实是最成熟的,效率也最高的。
 
通用一点单机版本数据库的建议使用SQLite3,效率高,速度快,兼容性好,扩展性强,有相关封装好的VCL组件。
或者使用firebird 或者mysql的单机版本引擎。

以上均不需要单独安装数据库驱动。
 
后退
顶部