基于Mysql存儲(chǔ)引擎的深入分析
MySQL有很多種存儲(chǔ)引擎,針對(duì)不同的應(yīng)用,可以為每張表選擇合適的存儲(chǔ)引擎,這樣有助于提升MySQL性能。
創(chuàng)建新聞表news:
CREATE TABLE `sandbox`.`news`
(
`id` INT NOT NULL AUTO_INCREMENT ,
`name` VARCHAR(45) NULL ,
`content` VARCHAR(45) NULL ,
`created` VARCHAR(45) NULL ,
PRIMARY KEY (`id`)
) ENGINE = MyISAM;
注意,MySQL大小寫敏不敏感,是由你所使用的平臺(tái)決定的,在Windows下,Mysql大小寫不敏感;在Linux平臺(tái)下,MySQL大小寫敏感。
最后一句SQL語句ENGINE=“存儲(chǔ)引擎名”,就是為表選擇存儲(chǔ)引擎,MySQL允許我們?cè)趧?chuàng)建表的時(shí)候選擇不同的存儲(chǔ)引擎,那么MySQL到底都有哪些存儲(chǔ)引擎呢?
MySQL存儲(chǔ)引擎包括:MyISAM引擎,MyISAM Merge引擎,InnoDB引擎,Memory引擎,Archive引擎,CSV引擎,F(xiàn)ederated引擎,Blackhle引擎,NDB Cluster引擎,F(xiàn)alcon引擎,SolidDB引擎,PBXT引擎,
Maria引擎和其它引擎。建表時(shí),選擇合適的存儲(chǔ)引擎很重要,如果到后期再更換將會(huì)很麻煩。這里,我們只介紹常用的三種存儲(chǔ)引擎:
MyISAM引擎
MyISAM引擎是MySQL默認(rèn)的存儲(chǔ)引擎,MyISAM不支持事務(wù)和行級(jí)鎖,所以MyISAM引擎速度很快,性能優(yōu)秀。MyISAM可以對(duì)整張表加鎖,支持并發(fā)插入,支持全文索引。
如果你不需要事務(wù)支持,通常我們建表時(shí)都選用MyISAM存儲(chǔ)引擎,像新聞表之類都沒有必要支持事務(wù)。
InnoDB引擎
InnoDB是專為事務(wù)設(shè)計(jì)的存儲(chǔ)引擎,支持事務(wù),支持外鍵,擁有高并發(fā)處理能力。但是,InnoDB在創(chuàng)建索引和加載數(shù)據(jù)時(shí),比MyISAM慢。
涉及到貨幣操作一般都需要支持事務(wù),什么都能錯(cuò),錢不能出錯(cuò)。
Memory引擎
內(nèi)存表,Memory引擎將數(shù)據(jù)存儲(chǔ)在內(nèi)存中,表結(jié)構(gòu)不是存儲(chǔ)在內(nèi)存中的,查詢時(shí)不需要執(zhí)行I/O操作,所以要比MyISAM和InnoDB快很多倍,但是數(shù)據(jù)庫斷電或是重啟后,表中的數(shù)據(jù)將會(huì)丟失,表結(jié)構(gòu)不會(huì)
丟失。如果你需要將SESSION數(shù)據(jù)存在數(shù)據(jù)庫中,那么使用Memory引擎是個(gè)不錯(cuò)的選擇。
通常,我們使用這三種存儲(chǔ)引擎就夠了,更多的介紹請(qǐng)查閱MySQL手冊(cè)。
- MySQL存儲(chǔ)引擎總結(jié)
- MySQL存儲(chǔ)引擎MyISAM與InnoDB的9點(diǎn)區(qū)別
- MySQL修改數(shù)據(jù)表存儲(chǔ)引擎的3種方法介紹
- MySQL數(shù)據(jù)庫MyISAM存儲(chǔ)引擎轉(zhuǎn)為Innodb的方法
- MySQL禁用InnoDB引擎的方法
- MySQL存儲(chǔ)引擎簡介及MyISAM和InnoDB的區(qū)別
- mysql數(shù)據(jù)庫修改數(shù)據(jù)表引擎的方法
- 深入MySQL存儲(chǔ)引擎比較的詳解
- 深入理解MySQL的數(shù)據(jù)庫引擎的類型
- mysql更改引擎(InnoDB,MyISAM)的方法
相關(guān)文章
MySQL優(yōu)化必須調(diào)整的10項(xiàng)配置
這篇文章主要介紹了MySQL優(yōu)化必須調(diào)整的10項(xiàng)配置,使用這些方法可以讓你快速地獲得一個(gè)穩(wěn)健的MySQL配置,需要的朋友可以參考下2014-02-02
使用SKIP-GRANT-TABLES 解決 MYSQL ROOT密碼丟失
這篇文章主要介紹了使用SKIP-GRANT-TABLES 解決 MYSQL ROOT密碼丟失的相關(guān)資料,需要的朋友可以參考下2015-09-09
Mysql查詢很慢卡在sending data的原因及解決思路講解
今天小編就為大家分享一篇關(guān)于Mysql查詢很慢卡在sending data的原因及解決思路講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-04-04
MySQL之存儲(chǔ)過程按月創(chuàng)建表的方法步驟
這篇文章主要介紹了MySQL之存儲(chǔ)過程按月創(chuàng)建表的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09

