mysql sqlite 性能优化_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
TableScript:
MySql:
CREATE TABLE `test` (
`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`),
KEY `idx_name` USING BTREE (`name`),
KEY `idx_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 sqlite 性能优化_MySQL和Sqlite3性能测试的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 量词逻辑量词里面的v表示?_知识表示能力
- 下一篇: sql判断数据库类型数据_SQL数据类型