惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
The Blog of Author Tim Ferriss
S
Securelist
D
Docker
The Register - Security
The Register - Security
GbyAI
GbyAI
Recorded Future
Recorded Future
Engineering at Meta
Engineering at Meta
Stack Overflow Blog
Stack Overflow Blog
云风的 BLOG
云风的 BLOG
P
Proofpoint News Feed
罗磊的独立博客
博客园 - 【当耐特】
F
Full Disclosure
WordPress大学
WordPress大学
腾讯CDC
小众软件
小众软件
大猫的无限游戏
大猫的无限游戏
D
DataBreaches.Net
SecWiki News
SecWiki News
L
Lohrmann on Cybersecurity
I
InfoQ
MyScale Blog
MyScale Blog
量子位
Cyberwarzone
Cyberwarzone
博客园 - 三生石上(FineUI控件)
The Hacker News
The Hacker News
F
Fortinet All Blogs
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Jina AI
Jina AI
博客园_首页
H
Help Net Security
K
Kaspersky official blog
酷 壳 – CoolShell
酷 壳 – CoolShell
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Webroot Blog
Webroot Blog
Blog — PlanetScale
Blog — PlanetScale
V
Vulnerabilities – Threatpost
Y
Y Combinator Blog
The Cloudflare Blog
P
Proofpoint News Feed
V
Visual Studio Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
T
Tailwind CSS Blog
爱范儿
爱范儿
P
Privacy International News Feed
Security Archives - TechRepublic
Security Archives - TechRepublic
The GitHub Blog
The GitHub Blog
C
Cybersecurity and Infrastructure Security Agency CISA
B
Blog RSS Feed

博客园 - Hyke

借助Elecard MPEG2 Decoder的Easy RealMedia Tools可以成功转MPEG为RMVB 自己总结的如何用C#查找webBrowser页面中input的checkbox的checked属性! - Hyke - 博客园 C#中将字符串转成 Base64 编码 C#-对称加密的一个例子 SharpDevelop的如何支持中文? 今天初步摸索了一下如何创建新的XML文件 求助:有没有PDF分析并显示的相关类啊? 求助:有什么控件可以显示PDF文件啊? [我的重大收获]C#WinForm实现URI对汉字进行编码! [总结]如何让文本框自动显示最新加入的内容呢?(C#) - Hyke - 博客园 [原创]C#.NET网络编程POST数据到网站 [原创]小测:是易语言快,还是.NET快啊? [原创]自做小软件初步测试Access与SQLite数据库执行效率(C#) [推荐软件]QQ自动登录器1.6.1版正式发布! [转]如何高效使用SQLite .net (C#) [转]使用SQLite进行网站搜索 C# 创建新的SQlite数据库Database(两个方法) [转]在ppt中插入RealPlayer文件 Subtitle Workshop使用教程
[转]SQLite数据库与其它一些数据库的性能比较
Hyke · 2007-06-19 · via 博客园 - Hyke

[转]SQLite数据库与其它一些数据库的性能比较

2007-06-18 18:40

本文转载自:http://www.sqlite.com.cn/MySqlite/6/22.Html

SQLite数据库与其它一些数据库的性能比较

今天写了一个简单的测试程序,目的为了解自己目前所使用数据库的性能, 并希望能从中調整出更好的結果。

下面是多次测试的結果:

测试环境: Windows2003, .NET Framework 1.1, no AntiVirus, 1GB memory
测试的数据库
: SQLite V3, MySQL Type=InnoDB, SQL Server 2000 Sp3, Access 20003
参数设置:

MySQL (預設*2)
max_allowed_packet=16M
key_buffer_size=16M
table_cache=128
sort_buffer_size=4M
其余选项均为預設值。

数据库的连接字符串:
Private MSSQLConnStr As String = "initial catalog=CodeLib;Connect Timeout=20;data source=(local);integrated security=SSPI;persist security info=False;"
Private MySQLODBCConnStr As String = "DRIVER={MySQL ODBC 3.51 Driver};DATABASE=CodeLib;OPTION=18475;SERVER=localhost;UID=;PASSWORD=;"   
Private MySQLByteFXConnStr As String = "Database=CodeLib;Data Source=localhost;User Id=;Password="
Private OLEDBConnStr As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=1.mdb"
Private SQLiteConnStr As String = "Data Source=;New=True;Version=3"
    
INSERT with Transaction 10000
笔记录:

00.6089(SQLite) < 01.1677(MSSQL) < 02.5346(ByteFx) < 08.9000(Access) < 13.9242(MyODBC) 0~10000
00.5476(SQLite) < 01.2679(MSSQL) < 02.4982(ByteFx) < 08.6672(Access) < 13.5140(MyODBC) 10000~20000
00.5245(SQLite) < 01.1508(MSSQL) < 02.5150(ByteFx) < 08.7101(Access) < 13.6411(MyODBC) 20000~30000

INSERT with Transaction 50000笔记录:

03.4739(SQLite) < 09.4173(MSSQL) < 13.6408(ByteFx) < 44.3165(Access) < 71.6529(MyODBC) 50000

INSERT without Transaction 300笔记录:
00.0908(MSSQL) < 00.3520(Access) < 10.3717(MyODBC) < 11.5118(ByteFx) < 25.8230(SQLite) 30000~30300
00.0907(MSSQL) < 00.3686(Access) < 08.7148(ByteFx) < 11.3625(MyODBC) < 25.1898(SQLite) 30300~30600
00.1027(MSSQL) < 00.3595(Access) < 08.4664(ByteFx) < 08.7934(MyODBC) < 25.3364(SQLite) 30600~31200

SELECT 31200笔记录:

00.4161(SQLite) < 00.8362(MSSQL) < 00.8688(Access) < 02.3565(MyODBC) < 02.4857(ByteFx)
00.3519(SQLite) < 00.5707(Access) < 00.7055(MSSQL) < 02.5555(MyODBC) < 02.6173(ByteFx)
00.3472(SQLite) < 00.6037(MSSQL) < 00.6707(Access) < 02.5439(ByteFx) < 02.6328(MyODBC)

SELECT 50000笔记录:

00.6129(SQLite) < 01.0132(MSSQL) < 01.2942(Access) < 04.0064(ByteFx) < 04.4904(MyODBC)
00.6741(SQLite) < 00.9719(MSSQL) < 01.2956(Access) < 03.7336(ByteFx) < 04.6592(MyODBC)

DELETE 31200笔记录:

00.0091(Access) < 00.0247(ByteFx) < 00.1960(SQLite) < 00.6901(MSSQL) < 01.2297(MyODBC)

DELETE 50000笔记录:

00.0092(Access) < 00.0301(ByteFx) < 00.3305(SQLite) < 01.9281(MyODBC) < 03.0269(MSSQL)

从上面结果看出:

SQLite3 在不执行行事务处理的情況下不是很理想, SELECT速度相当快。

MSSQL/Access无论是否执行事务处理的性能都相當不錯。

MySQLByteFxMyODBCInsert/Delete的速度上差异略为明显。

以上数据仅供参考, 如果您对结果有更好的建议也请让我知道。

sqlite在不开事务的情况下就是一种悲剧,因为它的多访问支持是建立在对文件的独占和共享基础上的。