1.2 myisam 與 innodb 主要區別
1.3 如何選擇mysql的儲存引擎
目前廣泛使用的是myisam和innodb兩種引擎:
1.1.1 myisam
myisam引擎是mysql 5.1及之前版本的預設引擎,它的特點是:
1.1.2 innodb
innodb在mysql 5.5後成為預設索引,它的特點是:
innodb引擎的4大特性答:
插入緩衝(insert buffer);innodb引擎的行鎖是通過加在索引上實現的二次寫(double write);
自適應雜湊索引(ahi);
預讀(read ahead)
ps: 據說innodb已經在mysql 5.6.4支援全文索引了
myisam 批量插入速度快,innodb慢,myisam插入資料時不排序myisam:inoodb支援事務,而myisam不支援事務;
innodb不支援全文索引,myisam支援全文索引
鎖機制,myisam是表鎖,innodb是行鎖
myisam不支援外來鍵,innodb支援外來鍵
innodb支援mvcc,而myisam不支援;
innodb是索引組織表, myisam 是堆表;
innodb表支援多種行格式, myisam 不支援;
innodb不能通過直接拷貝表檔案的方法拷貝表到另外一台機器, myisam 支援;
如果表對事務要求不高,同時是以查詢和新增為主的。
比如 bbs中的發帖表,回覆表
innodb:
對事務要求高,儲存的資料都是重要資料
比如 訂單表,賬戶表
memory:
資料變化頻繁,不需要入庫同時又經常查詢和修改
總體來講,myisam適合select密集型的表,而innodb適合insert和update密集型的表。
myisam與innodb select count(*)哪個更快,為什麼?
答:myisam更快,因為myisam內部維護了乙個計數器,可以直接調取。
Mysql 儲存引擎之 MyISAM儲存引擎
myisam是預設儲存引擎。每個myisam在磁碟上儲存成三個檔案。frm檔案儲存表定義 myd檔案儲存資料 myi檔案儲存索引。要明確表示你想要用乙個myisam 請用engine表選項指出來 create table test myisam id int engine myisam 2 如下是m...
MySQL之儲存引擎
這幾天研習mysql資料庫的儲存引擎,以便能更深層次的掌握mysql這個優秀的資料庫。首先,mysql資料庫獨有的外掛程式式儲存引擎架構使得它有別於其他任何資料庫,其中不同的儲存引擎有著完全不同的功能和效能。mysql表儲存引擎主要有 innodb儲存引擎,myisam儲存引擎,ndb儲存引擎,me...
MySQL之儲存引擎
1.檢視某個資料表的命令 show create table tbl name mysql可以將資料以不同的技術儲存在檔案 記憶體 中,這種技術就稱為儲存引擎。每一種儲存引擎使用不同的儲存機制 索引技巧 鎖定水平,最終提供廣泛且不同的功能。mysql支援的儲存引擎有 myisam 適用於事物的處理不...