xplibox
35212
|
2008/8/6 12:40:31 |
前一段时间本人对DBISAM以及SQLITE数据库进行了一个性能测试,测试结果是SQlite胜出!胜出的原因是增加了“事务处理”。 但是,最近在开发一个大型程序时,发现早期采用DBISAM的版本速度并不慢,反而是采用Sqlite的新版本速度不尽人意!于是,重新进行测试,首先是采用简单类型:Double,即同样插入10000个实数,比较两种数据库的性能,结果差不多。然后,换成构造类型(一个比较大的Record),结果DBISAM稍稍优先。 然而,戏剧性的一幕出现在后面,我将DBISAM的程序去掉了“事务处理”,结果极端的出乎人们的意料——DBISAM的性能直接提高了10倍。经过仔细研究,发现DBISAM的缓冲机制起了作用,往往我插入3~5次,系统才写一次硬盘,所以,性能大大提高!! 看来不同数据库之间的差异,还是很大的。不止是性能上,关键是用法也不一样!! Sqlite不加“事务处理”性能很差;DBISAM恰恰相反! 真是没有想到! |
qindj
33994
|
2008/5/4 9:21:58 |
等待楼上大侠的测试结果... |
xplibox
33765
|
2008/4/21 14:29:52 |
已经安装Nexus,正在准备测试! |
xplibox
33707
|
2008/4/16 17:14:57 |
NexusDB是一个超级快速的client/server数据库引擎,专为Delphi和C++Builder开发者设计。它可以被快速灵活的嵌入到您的桌面应用中。NexusDB代表了下一代备受关注的FlashFiler数据库。 NexusDB被设计成最大化快速、最小化维护并保持数据完整性。作为真正的client/server数据库,NexusDB是唯一的一套组件。它的设计决定了比典型的文件型数据库有更多的优点:更好的数据完整性、更好的性能和更好的可伸缩性。当前版本2.0支持.NET开发。
但是哪有下载阿?? |
xplibox
33706
|
2008/4/16 17:08:41 |
TinyDB好像是收费的,没有 NexusDB使用者多吗?头一次听说。 |
register
33701
|
2008/4/15 20:18:39 |
比较过 NexusDB.V2.0 和 TinyDB 吗? |
zbird
33697
|
2008/4/15 12:38:02 |
估计楼主是没加事物,不然SQLite不至于这么慢。 |
xplibox
33692
|
2008/4/14 17:16:28 |
对于BLOB我的测试结果依然是SQLite胜出。不知道大侠dorry是怎样测试的?? 我的测试代码如下: start := GetTickCount; ASQLite3Query1.StartTransaction; for i := 0 to 1000 - 1 do begin k := Random(1000); //DBISAMQuery1.ParamByName('aa').AsString := Format('%d',[i]); //DBISAMQuery1.ParamByName('bb').AsInteger := k; //DBISAMQuery1.ExecSQL; ASQLite3Query1.Params.ParamByName('aa').AsString := Format('%d',[i]); ASQLite3Query1.Params.ParamByName('bb').AsBlob := 'tttttttttt'; ASQLite3Query1.ExecSQL; end; ASQLite3Query1.Commit; stop := GetTickCount; Label1.Caption := Format('%.2fs',[(stop - start)/1000])
---------- Randomize; start := GetTickCount; for i := 0 to 1000 - 1 do begin k := Random(1000); DBISAMQuery1.ParamByName('aa').AsString := Format('%d',[i]); DBISAMQuery1.ParamByName('bb').AsBlob := 'tttttttttt'; DBISAMQuery1.ExecSQL; end; stop := GetTickCount; Label1.Caption := Format('%.2fs',[(stop - start)/1000]) |
xplibox
33691
|
2008/4/14 17:01:42 |
msde对硬件的要求如何?会不会造成反应迟缓? |
xplibox
33690
|
2008/4/14 16:53:03 |
MSDE是什么?没有听说过啊? 大二分数据的问题还真需要测试测试 |
pcbcom
33641
|
2008/4/10 22:03:32 |
用DBISAM会让你后悔的,用MSDE吧 |
zyyjc
33629
|
2008/4/10 12:08:38 |
能问下,楼主截图的程序用了什么皮肤控件? |
csxy
33617
|
2008/4/9 12:07:56 |
强烈建议别用ABS数据库. 5W条记录 你用SELECT 加条件测一下速度后再用 |
dorry
33615
|
2008/4/9 8:59:20 |
在插入大 二进制文件时 DBisam 表现是 SQlite 的4-5备,比如blob字段插入 100MB 的文件. |
xplibox
33611
|
2008/4/8 17:21:19 |
增加事务处理就不慢了! 是在同样的机器配置下进行的。关键是考察数据库引擎的性能。 |
wqquake
33608
|
2008/4/8 14:36:48 |
主要还得说明机器的配置,测试效果才有参考价值。我用sql server主要存储过程插记录,2000条/秒 应该不成问题。 |
lobtao
33584
|
2008/4/7 17:18:58 |
SQLite的速度好慢呀,我还是比较喜欢用absolute database,速度快,易用,比accesse用起来都方便 ,文档齐全,有时间了,准备翻译过来,挂到网上去。 |