基于Mysql存儲引擎的深入分析
MySQL有很多種存儲引擎,針對不同的應(yīng)用,可以為每張表選擇合適的存儲引擎,這樣有助于提升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大小寫敏不敏感,是由你所使用的平臺決定的,在Windows下,Mysql大小寫不敏感;在Linux平臺下,MySQL大小寫敏感。
最后一句SQL語句ENGINE=“存儲引擎名”,就是為表選擇存儲引擎,MySQL允許我們在創(chuàng)建表的時候選擇不同的存儲引擎,那么MySQL到底都有哪些存儲引擎呢?
MySQL存儲引擎包括:MyISAM引擎,MyISAM Merge引擎,InnoDB引擎,Memory引擎,Archive引擎,CSV引擎,F(xiàn)ederated引擎,Blackhle引擎,NDB Cluster引擎,F(xiàn)alcon引擎,SolidDB引擎,PBXT引擎,
Maria引擎和其它引擎。建表時,選擇合適的存儲引擎很重要,如果到后期再更換將會很麻煩。這里,我們只介紹常用的三種存儲引擎:
MyISAM引擎
MyISAM引擎是MySQL默認(rèn)的存儲引擎,MyISAM不支持事務(wù)和行級鎖,所以MyISAM引擎速度很快,性能優(yōu)秀。MyISAM可以對整張表加鎖,支持并發(fā)插入,支持全文索引。
如果你不需要事務(wù)支持,通常我們建表時都選用MyISAM存儲引擎,像新聞表之類都沒有必要支持事務(wù)。
InnoDB引擎
InnoDB是專為事務(wù)設(shè)計的存儲引擎,支持事務(wù),支持外鍵,擁有高并發(fā)處理能力。但是,InnoDB在創(chuàng)建索引和加載數(shù)據(jù)時,比MyISAM慢。
涉及到貨幣操作一般都需要支持事務(wù),什么都能錯,錢不能出錯。
Memory引擎
內(nèi)存表,Memory引擎將數(shù)據(jù)存儲在內(nèi)存中,表結(jié)構(gòu)不是存儲在內(nèi)存中的,查詢時不需要執(zhí)行I/O操作,所以要比MyISAM和InnoDB快很多倍,但是數(shù)據(jù)庫斷電或是重啟后,表中的數(shù)據(jù)將會丟失,表結(jié)構(gòu)不會
丟失。如果你需要將SESSION數(shù)據(jù)存在數(shù)據(jù)庫中,那么使用Memory引擎是個不錯的選擇。
通常,我們使用這三種存儲引擎就夠了,更多的介紹請查閱MySQL手冊。
相關(guān)文章
mysql中批量插入數(shù)據(jù)(1萬、10萬、100萬、1000萬、1億級別)
本文主要介紹了mysql中批量插入數(shù)據(jù)(1萬、10萬、100萬、1000萬、1億級別),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08MySQL8.0.26的安裝與簡化教程(全網(wǎng)最全)
MySQL關(guān)是一種關(guān)系數(shù)據(jù)庫管理系統(tǒng),所使用的 SQL 語言是用于訪問數(shù)據(jù)庫的最常用的標(biāo)準(zhǔn)化語言,今天通過本文給大家分享MySQL8.0.26的安裝與簡化教程使全網(wǎng)最詳細(xì)的安裝教程,需要的朋友參考下吧2021-07-07win10家庭版64位下mysql 8.0.15 安裝配置方法圖文教程
這篇文章主要為大家詳細(xì)介紹了win10家庭版64位下mysql 8.0.15 安裝配置方法圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-03-03