程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> 基於Mysql存儲引擎的深入分析

基於Mysql存儲引擎的深入分析

編輯:關於MYSQL數據庫

MySQL有很多種存儲引擎,針對不同的應用,可以為每張表選擇合適的存儲引擎,這樣有助於提升MySQL性能。
創建新聞表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允許我們在創建表的時候選擇不同的存儲引擎,那麼MySQL到底都有哪些存儲引擎呢?

MySQL存儲引擎包括:MyISAM引擎,MyISAM Merge引擎,InnoDB引擎,Memory引擎,Archive引擎,CSV引擎,Federated引擎,Blackhle引擎,NDB Cluster引擎,Falcon引擎,SolidDB引擎,PBXT引擎,
Maria引擎和其它引擎。建表時,選擇合適的存儲引擎很重要,如果到後期再更換將會很麻煩。這裡,我們只介紹常用的三種存儲引擎:

MyISAM引擎
MyISAM引擎是MySQL默認的存儲引擎,MyISAM不支持事務和行級鎖,所以MyISAM引擎速度很快,性能優秀。MyISAM可以對整張表加鎖,支持並發插入,支持全文索引。
如果你不需要事務支持,通常我們建表時都選用MyISAM存儲引擎,像新聞表之類都沒有必要支持事務。

InnoDB引擎
InnoDB是專為事務設計的存儲引擎,支持事務,支持外鍵,擁有高並發處理能力。但是,InnoDB在創建索引和加載數據時,比MyISAM慢。
涉及到貨幣操作一般都需要支持事務,什麼都能錯,錢不能出錯。

Memory引擎
內存表,Memory引擎將數據存儲在內存中,表結構不是存儲在內存中的,查詢時不需要執行I/O操作,所以要比MyISAM和InnoDB快很多倍,但是數據庫斷電或是重啟後,表中的數據將會丟失,表結構不會
丟失。如果你需要將SESSION數據存在數據庫中,那麼使用Memory引擎是個不錯的選擇。
通常,我們使用這三種存儲引擎就夠了,更多的介紹請查閱MySQL手冊。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved