myISAM:不支持?jǐn)?shù)據(jù)庫事務(wù),但是性能比innoDB強很多饶囚,如果你的數(shù)據(jù)庫多表操作比較多帕翻,為了確保數(shù)據(jù)一致性鸠补,不建議使用myISAM引擎
innoDB:支持?jǐn)?shù)據(jù)庫事務(wù),多表操作的數(shù)據(jù)一致性有保證嘀掸,但是在性能方面和myISAM引擎比就差太多了
數(shù)據(jù)插入方面:
? ? ? ? 關(guān)于二者性能差距,在數(shù)據(jù)插入方面就體現(xiàn)的淋漓盡致睬塌,同樣結(jié)構(gòu)的表泉蝌,使用存儲過程的循環(huán)操作插入同樣規(guī)則的數(shù)據(jù),innoDB花了600秒+才插入不到8000條數(shù)據(jù)衫仑,被我手動結(jié)束了插入;而在myISAM表里面梨与,只花了110多秒鐘就插入了超過600w條數(shù)據(jù),這個性能差距真是......額=_=文狱,叼粥鞋。
數(shù)據(jù)查詢方面:
? ? ? ? 這里我使用的是myISAM引擎表來查詢,在沒有建立索引的情況下瞄崇,從600w行查詢一個指定的phone(有重復(fù))呻粹,結(jié)果如下:
在建立了phone字段的索引之后,再次使用該語句查表苏研,結(jié)果如下:
暫時就醬等浊,接著研究......
補充點,myISAM轉(zhuǎn)innoDB之后的測試:
未索引的phone字段查詢耗時:
索引后phone字段查詢耗時:
補充測試,在myISAM引擎下衅鹿,對于單個重復(fù)數(shù)據(jù)很多字段建立索引撒踪,查詢性能并沒有提升,反而下降大渤;對id建立索引制妄,然后在600w數(shù)據(jù)里limit100w條數(shù)據(jù),性能不升反降泵三。