MySQL和MongoDB的效能測試

2022-08-17 16:24:17 字數 1782 閱讀 2205

mysql版本:5.1.50,驅動版本:5.1.6(最新的5.1.13有很多雜七雜八的問題)

mongodb版本:1.6.2,驅動版本:2.1

作業系統:windows xp sp3(這個影響應該不大)

cpu:intel core2 e6550 2.33g

記憶體:2g(足夠了)

mysql啟動引數:bin\mysqld --no-defaults --console --character-set-server=utf8 --max_connections=1000 --max_user_connections=1000

mongodb啟動引數:bin\mongod --dbpath data\ --directoryperdb --rest --maxconns 1000 –quiet

除了加大最大連線數之外,均使用預設引數

create table `flt_evecurrent` (

`nodeid` int(11) not null default '0',

`fltid` int(11) not null default '0',

`objid` int(11) default null,

`stationid` int(11) default null,

`evetype` int(11) default null,

`severity` int(11) default null,

`reporttime` date default null,

`createtime` date default null,

`evecontent` varchar(1024) default null,

`evedesc` varchar(256) default null,

primary key (`nodeid`,`fltid`)

mongodb類似,索引按照查詢語句的查詢字段建立,該例子中為objid和createtime兩個字段建立索引。

分別插入100萬條記錄,並對其做100個使用者併發查詢操作。

mysql每一次都drop表,mongodb每一次都刪除data目錄。

查詢的時候,從第二次查詢開始,連續記錄三次。

插入時間

查詢時間

mysql innodb引擎 無索引

10分33秒

39.516秒、35.907秒、39.907秒

mysql innodb引擎 有索引

11分16秒

非常不穩定:22.531秒、13.078秒、23.078秒、26.047秒、21.234秒、28.469秒、20.922秒、13.328秒

mysql myisam引擎 無索引

3分21秒

22.812秒、23.343秒、23.125秒

mysql myisam引擎 有索引

3分50秒

10.312秒、10.359秒、10.296秒

mongodb無索引

37秒59.531秒、60.063秒、59.891秒

mongodb有索引

50秒3.484秒、3.453秒、3.453秒

磁碟空間占用(有索引時候的占用,無索引情況差不多):

mysql myisam:57mb

mysql innodb:264mb

mongodb:464mb

另外測試中還發現乙個有意思的現象,如果mongodb查詢中,如果單獨查詢objid欄位,耗時約1秒,如果單獨查詢createtime欄位,耗時約10秒,如果兩個字段合起來查,就是上面的結果,約3秒,估計mongodb內部對查詢順序作了優化吧。

MongoDB和MySQL的區別

一 1 基於分布式檔案儲存 2 高負載情況下新增更多節點,可以保證伺服器效能 3 將資料儲存為乙個文件 二 比較 1 穩定性 2 索引,索引放在記憶體中,能夠提公升隨機讀寫的效能。如果索引不能完全放在記憶體,一旦出現隨機讀寫比較高的時候,就會頻繁地進行磁碟交換,mongodb的效能就會急劇下降 在m...

MongoDB和MySQL的區別

mysql是傳統的關係型資料庫,mongodb則是非關係型資料庫,也叫文件型資料庫,是一種nosql的資料庫。mongodb 文件型資料庫 提供可擴充套件的高效能資料儲存 一 1 基於分布式檔案儲存 2 高負載情況下新增更多節點,可以保證伺服器效能 3 將資料儲存為乙個文件 二 比較 1 穩定性 2...

Mongodb和mysql的區別

mysql是傳統的關係型資料庫,mongodb則是非關係型資料庫,也叫文件型資料庫,是一種nosql的資料庫。mongodb 文件型資料庫 提供可擴充套件的高效能資料儲存 一 1 基於分布式檔案儲存 2 高負載情況下新增更多節點,可以保證伺服器效能 3 將資料儲存為乙個文件 4 mongodb對資料...