MySQL有很多種存儲引擎,針對不同的應(yīng)用,可以為每張表選擇合適的存儲引擎,這樣有助于提升MySQL性能。
創(chuàng)建新聞表news:
復(fù)制代碼 代碼如下:
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存儲引擎包括:MyISAM引擎,MyISAM Merge引擎,InnoDB引擎,Memory引擎,Archive引擎,CSV引擎,F(xiàn)ederated引擎,Blackhle引擎,NDB Cluster引擎,F(xiàn)alcon引擎,SolidDB引擎,PBXT引擎,
Maria引擎和其它引擎。建表時,選擇合適的存儲引擎很重要,如果到后期再更換將會很麻煩。這里,我們只介紹常用的三種存儲引擎:
MyISAM引擎
MyISAM引擎是MySQL默認的存儲引擎,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手冊。
新聞熱點
疑難解答
圖片精選