測試條件:[email protected],普通機械硬碟。
mysql: 5.0.45-community-nt,32bit, innodb引擎,innodb_flush_log_at_trx_commit=0
sqlite3: synchronous=off,lockingmode = exclusive
tablescript:
mysql:
create tabletest
(
id
int(10) unsigned not null auto_increment,
name
varchar(32) not null,
password
varchar(32) not null,
email
varchar(64) default null,
mobile
varchar(20) default null,
primary key (id
),
keyidx_name
using btree (name
),
keyidx_mobile
(mobile
)
) engine=innodb auto_increment=1 default charset=utf8;
sqlite3:
create table indy(id integer primary key autoincrement, name text collate nocase, password text collate nocase, email text collate nocase, mobile text collate nocase);
create index 「idx_indy_mobile」 on 「indy」 (「mobile」 asc);
create index 「idx_indy_name」 on 「indy」 (「name」 asc);
特別說明一下:
name和mobile欄位都有索引,沒有索引這種情況不做測試,原因不解釋。
mysql插入10萬條記錄,開啟transaction,cachedupdates。
耗時:8.654s,qps=11555
sqlite3插入10萬條記錄,
耗時:1.60s,qps=62471
測試結論:
62471/11555=5.43
1.單純看插入效能的話,優化過的sqlite大約比mysql快5倍以上。
2.不使用索引的話,sqlite3每秒插入二三十萬記錄很輕鬆(機械硬碟)。
3.對於特殊部分的應用,如果有需要的話,建議試試sqlite3。
MySQL和Sqlite3效能測試
測試條件 i5 4460 3.2g,普通機械硬碟。mysql 5.0.45 community nt,32bit,innodb引擎,innodb flush log at trx commit 0 sqlite3 synchronous off,lockingmode exclusive table...
SQLite3效能優化
sqlite3效能調整主要通過pragma指令來實現。比如調整 空間釋放 磁碟同步 cache大小等。一.空間釋放 1.如何查詢 pragma auto vacuum 含義 查詢資料庫的auto vacuum標記。2.標記含義 auto vacuum標記的含義 正常情況下,當提交乙個從資料庫中刪除資...
rails使用sqlite3和mysql的問題
1 如果使用sqlite3時出現如下錯誤 failsafe thu jul 30 22 16 15 0800 2009 status 500 internal server error unknown error c ruby lib ruby 1.8 dl import.rb 29 in init...