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

SQLITE与ACCESS性能简单测试对比

这段时间在做CMS(客户管理系统,不是内容管理)的访问管理功能,要求实现对服务提供设备,客户端,计费,权限认证等信息的存储统计,远程管理。要求系统发布要方便,远程管理软件要跑在WIN平台。考虑到系统规模,客户要求,最后选择了WIN+ACCESS的方案,而最近又发现一个免费的SQLITE,而且可能在以后的手持设备上用,花点时间做了如下的简单性能测试。
ACCESS 插入性能测试:
平台:SYS:WINXP;CPU:2*1.6GHZ;RAM:1G;APP:VC+ADO
1.单条显式事务:
    1 00条: 0.55S
   1000条: 5s
 10000条: 50s
2.单条非显式事务:
     100条:31ms
   1000条:156ms
 10000条:1500ms
3.批量事务:
    1 00条:16ms
   1000条:141ms
 10000条:1469ms
以上可以看出,ACCESS单条非显式事务插入的时间几乎和批量事务的插入时间一样,这大概就是网上得出ACCESS快于sqlite的原因吧,但是;单条非显式事务的
方式只能用单连接,如果有多个连接并发访问,则会出现严重问题,在一个链接插入后的相当长一段时间内(有时数S),其它链接都无法插入数据库。可以推理
ADO+ACCESS是采用了一种类似CACHE的做法缓存了操作,但是却一直锁住数据库。单条的显式事务可以保证多链接的访问,但是速度会慢很多,下面再对比一下
SQLITE的测试性能;
SQLITE PC平台插入性能测试:
平台:SYS:WINXP+VMWARE+FEDORA7(LINUX2.6.21);CPU;1.6GHZ;RAM:412M; APP:C+SQLITE
1.单条显式事务(SQLITE默认为每个操作开启事务)
    100条:0.587s
  1000条:6.962s
10000条:56.004s
2.批量事务
    100条:81ms(可能误差较大)
  1000条:124ms
10000条:1257ms
SQLITE 嵌入式平台插入性能测试:
平台:SYS:LINUX2.6.14;CPU:HI3512 ARM9 200MHZ级别;RAM:32M,ROM:32M NOR FLASH;APP:C+SQLITE
1.单条显式事务(SQLITE默认为每个操作开启事务)
    100条:1.98s
  1000条:19.97s
10000条:34.63s
2.批量事务
    100条:0.15s
  1000条:0.89s
10000条:8.24s
以上可见:即使在虚拟机环境下,SQLITE测试的结果依然与ACCESS差不多。而在ARM+LINUX的平台,NOR FLASH较慢的写入速度应该是拉低插入速度的原因。


相关文档:

asp上传excle文件并导入到access数据库

<%
function FSOFileDel(filename)
Dim objFSO,objCountFile,FiletempData
On Error Resume Next
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objCountFile =objFSO.DeleteFile(Server.MapPath(filename),true)
objCountFile.Close
Set objCountFile=Nothing
Set objFSO = Nothing
En ......

DELPHI中操作ACCESS数据库

DELPHI中操作ACCESS数据库(建立.mdb文件,压缩数据库)

以下代码在WIN2K,D6,MDAC2.6下测试通过,

编译好的程序在WIN98第二版无ACCESS环境下运行成功.







//声明连接字符串

Const

SConnectionString      
= 'Provider=M ......

Failed to access IIS metabase

Failed to access IIS metabase.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Web.Hosting.HostingEnvironmentException: ......

C++通过ADO连接ACCESS(或者SQL Server)数据库例子

#include "iostream.h"
#include "stdio.h"
#import "C:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF","adoEOF")
int main(int argc, char* argv[])
{
   ::CoInitialize(NULL);
_ConnectionPtr m_pConnection;
m_pConnection.CreateInstance("ADODB.Connection");
tr ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号