犯罪嫌疑人X
2019-05-31 17:04:18
MyISAM訴InnoDB我要說的是,我正在做一個涉及大量數(shù)據(jù)庫寫作的項目(70%的插入和30%的讀取)。這一比率還將包括更新,我認為是一讀一寫。閱讀可能很臟(例如,我在閱讀時不需要100%準確的信息)。所討論的任務(wù)將是每小時處理100多萬個數(shù)據(jù)庫事務(wù)。我在網(wǎng)上讀過很多關(guān)于MyISAM和InnoDB之間的區(qū)別的文章,對我來說,MyISAM似乎是我在這個任務(wù)中使用的特定數(shù)據(jù)庫/表的明顯選擇。據(jù)我所讀,如果需要事務(wù),則InnoDB是很好的,因為行級鎖定是支持的。有沒有人有過這類負載(或更高的負荷)的經(jīng)驗?MyISAM是該走的路嗎?
3 回答

白衣非少年
TA貢獻1155條經(jīng)驗 獲得超0個贊
MyISAM InnoDB ---------------------------------------------------------------- Required full-text search Yes 5.6.4 ---------------------------------------------------------------- Require transactions Yes ---------------------------------------------------------------- Frequent select queries Yes ---------------------------------------------------------------- Frequent insert, update, delete Yes ---------------------------------------------------------------- Row locking (multi processing on single table) Yes ---------------------------------------------------------------- Relational base design Yes
Frequent reading, almost no writing => MyISAM Full-text search in MySQL <= 5.5 => MyISAM

慕仙森
TA貢獻1827條經(jīng)驗 獲得超8個贊

慕少森
TA貢獻2019條經(jīng)驗 獲得超9個贊
對MyISAM表進行5秒的更新。 當更新正在進行時,比如說2.5秒,點擊Ctrl-C來中斷它. 觀察桌子上的效果。更新了多少行?有多少沒有更新?這個表是可讀的,還是當你點擊Ctrl-C時它被破壞了? 對InnoDB表進行相同的更新實驗,中斷正在進行的查詢。 觀察InnoDB表。 零
行已更新。InnoDB已經(jīng)保證您有原子更新,如果無法提交完整的更新,則會回滾整個更改。而且,該表沒有損壞。即使您使用 killall -9 mysqld
模擬墜機。
添加回答
舉報
0/150
提交
取消