InnoDB與MyISAM有什么區(qū)別

MySQL 中 InnoDB 和 MyISAM 區(qū)別

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、小程序制作、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了漣水免費(fèi)建站歡迎大家使用!

1、事務(wù)和外鍵

InnoDB具有事務(wù),支持4個事務(wù)隔離級別,回滾,崩潰修復(fù)能力和多版本并發(fā)的事務(wù)安全,包括ACID。如果應(yīng)用中需要執(zhí)行大量的INSERT或UPDATE操作,則應(yīng)該使用InnoDB,這樣可以提高多用戶并發(fā)操作的性能

MyISAM管理非事務(wù)表。它提供高速存儲和檢索,以及全文搜索能力。如果應(yīng)用中需要執(zhí)行大量的SELECT查詢,那么MyISAM是更好的選擇

2、全文索引

Innodb不支持全文索引,如果一定要用的話,最好使用sphinx等搜索引擎。myisam對中文支持的不是很好

不過新版本的Innodb已經(jīng)支持了

3、鎖

mysql支持三種鎖定級別,行級、頁級、表級;

MyISAM支持表級鎖定,提供與 Oracle 類型一致的不加鎖讀取(non-locking read in SELECTs)

InnoDB支持行級鎖,InnoDB表的行鎖也不是絕對的,如果在執(zhí)行一個SQL語句時MySQL不能確定要掃描的范圍,InnoDB表同樣會鎖全表,注意間隙鎖的影響

例如update table set num=1 where name like “%aaa%”

4、存儲

MyISAM在磁盤上存儲成三個文件。第一個文件的名字以表的名字開始,擴(kuò)展名指出文件類型, .frm文件存儲表定義,數(shù)據(jù)文件的擴(kuò)展名為.MYD,  索引文件的擴(kuò)展名是.MYI

InnoDB,基于磁盤的資源是InnoDB表空間數(shù)據(jù)文件和它的日志文件,InnoDB 表的大小只受限于操作系統(tǒng)文件的大小

注意:MyISAM表是保存成文件的形式,在跨平臺的數(shù)據(jù)轉(zhuǎn)移中使用MyISAM存儲會省去不少的麻煩

5、索引

InnoDB(索引組織表)使用的聚簇索引、索引就是數(shù)據(jù),順序存儲,因此能緩存索引,也能緩存數(shù)據(jù)

MyISAM(堆組織表)使用的是非聚簇索引、索引和文件分開,隨機(jī)存儲,只能緩存索引

6、并發(fā)

MyISAM讀寫互相阻塞:不僅會在寫入的時候阻塞讀取,MyISAM還會在讀取的時候阻塞寫入,但讀本身并不會阻塞另外的讀

InnoDB 讀寫阻塞與事務(wù)隔離級別相關(guān)

以上就是MySQL 中 InnoDB 和 MyISAM 區(qū)別的詳細(xì)內(nèi)容,更多請關(guān)注創(chuàng)新互聯(lián)其它相關(guān)文章!

網(wǎng)頁題目:InnoDB與MyISAM有什么區(qū)別
網(wǎng)頁URL:http://muchs.cn/article16/ppjpdg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)用戶體驗(yàn)、微信公眾號、品牌網(wǎng)站設(shè)計、關(guān)鍵詞優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)