自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

淺談MySQL存儲引擎選擇 InnoDB還是MyISAM

數(shù)據(jù)庫 MySQL 數(shù)據(jù)庫運維
如果是一些小型的應(yīng)用或項目,那么MyISAM 也許會更適合。當(dāng)然,在大型的環(huán)境下使用MyISAM 也會有很大成功的時候,但卻不總是這樣的。如果你正在計劃使用一個超大數(shù)據(jù)量的項目,那么你應(yīng)該直接使用InnoDB方式。

51CTO推薦專題:MySQL入門與精通      PHP+MySQL視頻教程

MyISAM 是MySQL中默認(rèn)的存儲引擎,一般來說不是有太多人關(guān)心這個東西。決定使用什么樣的存儲引擎是一個很tricky的事情,但是還是值我們?nèi)パ芯恳幌拢@里的文章只考慮 MyISAM 和InnoDB這兩個,因為這兩個是最常見的。

下面先讓我們回答一些問題:


◆你的數(shù)據(jù)庫有外鍵嗎?
◆你需要事務(wù)支持嗎?
◆你需要全文索引嗎?
◆你經(jīng)常使用什么樣的查詢模式?
◆你的數(shù)據(jù)有多大?

思考上面這些問題可以讓你找到合適的方向,但那并不是絕對的。如果你需要事務(wù)處理或是外鍵,那么InnoDB 可能是比較好的方式。如果你需要全文索引,那么通常來說 MyISAM是好的選擇,因為這是系統(tǒng)內(nèi)建的,然而,我們其實并不會經(jīng)常地去測試兩百萬行記錄。所以,就算是慢一點,我們可以通過使用Sphinx從InnoDB中獲得全文索引。

數(shù)據(jù)的大小,是一個影響你選擇什么樣存儲引擎的重要因素,大尺寸的數(shù)據(jù)集趨向于選擇InnoDB方式,因為其支持事務(wù)處理和故障恢復(fù)。數(shù)據(jù)庫的在小決定了故障恢復(fù)的時間長短,InnoDB可以利用事務(wù)日志進(jìn)行數(shù)據(jù)恢復(fù),這會比較快。而MyISAM可能會需要幾個小時甚至幾天來干這些事,InnoDB只需要幾分鐘。

您操作數(shù)據(jù)庫表的習(xí)慣可能也會是一個對性能影響很大的因素。比如: COUNT() 在 MyISAM 表中會非???,而在InnoDB 表下可能會很痛苦。而主鍵查詢則在InnoDB下會相當(dāng)相當(dāng)?shù)目欤枰⌒牡氖侨绻覀兊闹麈I太長了也會導(dǎo)致性能問題。大批的inserts 語句在MyISAM下會快一些,但是updates 在InnoDB 下會更快一些——尤其在并發(fā)量大的時候。

所以,到底你檢使用哪一個呢?根據(jù)經(jīng)驗來看,如果是一些小型的應(yīng)用或項目,那么MyISAM 也許會更適合。當(dāng)然,在大型的環(huán)境下使用MyISAM 也會有很大成功的時候,但卻不總是這樣的。如果你正在計劃使用一個超大數(shù)據(jù)量的項目,而且需要事務(wù)處理或外鍵支持,那么你真的應(yīng)該直接使用InnoDB方式。但需要記住InnoDB 的表需要更多的內(nèi)存和存儲,轉(zhuǎn)換100GB 的MyISAM 表到InnoDB 表可能會讓你有非常壞的體驗。

【編輯推薦】

  1. MySQL創(chuàng)始人宣布將創(chuàng)建MySQL分支
  2. MySQL 5.4預(yù)覽版發(fā)布 性能提高90%
  3. 如何選擇合適的MySQL存儲引擎
  4. MySQL數(shù)據(jù)庫的存儲引擎簡介
責(zé)任編輯:佚名 來源: 酷殼的博客
相關(guān)推薦

2009-05-19 09:58:41

MyISAMInnoDB存儲引擎

2012-03-20 11:16:24

MySQLMyISAM

2019-06-11 16:11:16

MySQLMyISAMInnoDB

2010-05-21 16:10:28

2018-06-14 10:44:59

MySQLMyISAMInnoDB

2010-05-21 15:53:30

2010-05-11 15:06:24

MySQL MyISA

2010-05-21 16:23:52

MySQL MyISA

2010-11-23 11:27:53

MySQL MyISA

2018-09-05 13:14:54

MySQLInnoDBMyISAM

2011-08-16 16:22:38

MySQL數(shù)據(jù)庫存儲引擎MyISAM

2017-04-24 11:01:59

MySQL數(shù)據(jù)庫架構(gòu)設(shè)計

2021-08-10 14:29:06

MySQL數(shù)據(jù)庫存儲

2011-05-03 10:09:37

MySQL存儲引擎

2010-11-22 13:45:43

MySQL表存儲結(jié)構(gòu)

2019-12-12 10:38:10

mysql數(shù)據(jù)庫nnodb

2019-06-04 15:27:49

InnoDB存儲引擎

2014-07-25 09:35:52

LinuxMySQL

2009-02-02 09:31:25

MySQL存儲引擎MyISAM

2010-05-21 18:07:56

MySQL 表種類
點贊
收藏

51CTO技術(shù)棧公眾號