mysql--儲存引擎

來源:互聯網
上載者:User

標籤:blog   http   使用   檔案   資料   2014   資料庫   sql   

儲存引擎:也叫表類型,指的是資料表的儲存機制,索引方案等配套相關功能。不同的引擎,由於處理方式不同,會帶來不同的功能或者相應最佳化,根據實際需求選擇合理的引擎。

選擇表的儲存引擎的標準:
是否需要事務支援。
是否支援外鍵。
並發量的要求。
錯誤恢複的處理。
是否支援某些具體功能。


最常用的儲存引擎:
MyISAM, Indexed Sequential Access Method (有索引的順序存取方法)
InnoDB
區別:
資料和索引的儲存的檔案不同:MyISAM是分開儲存,而innodb是儲存到資料表空間

MyISAM支援索引壓縮,而Innodb索引和資料是綁定儲存不壓縮,體積大。

Innodb很多時候是行級鎖,而myisam是表級鎖,innodb的並發高。

InnoDB不支援FULLTEXT類型的索引(新版本的InnoDB也支援)。

Innodb支援事務,外鍵,資料完整性約束要強。而MYISAM不支援。

InnoDB 中不儲存表的具體行數,也就是說,執行select count(*) from table時,InnoDB要掃描一遍整個表來計算有多少行,但是MyISAM只要簡單的讀出儲存好的行數即可。注意的是,當count(*)語句包含 where條件時,兩種表的操作是一樣的。

對於AUTO_INCREMENT類型的欄位,InnoDB中必須包含只有該欄位的索引,但是在MyISAM表中,可以和其他欄位一起建立聯合索引。

 


mysql的儲存引擎預設是INNODB
在mysql的my.ini(路徑:...\MySQL\my.ini)設定檔中可以找到,如:

 

在建立表或者編輯表時可以指定表的儲存引擎
利用表屬性:engine 引擎類型
alter table tb_name engine 引擎類型

 

 

 

建立表時指定儲存引擎:
 


innoDB與myisam區別:

儲存的檔案方式不同
myisam 一個表,三個檔案
tb_name.frm 表結構檔案
tb_name.MYD 資料檔案(儲存引擎)
tb_name.MYI 索引

INNODB 一個表一個檔案
tb_name.frm

所有innoDB表,都使用相同的innoDB儲存空間在儲存資料和索引(...\MySQL\data\ibdata1)
 

隨著資料庫的增大,在data目錄下innodb的ibdata1檔案可能會不只一個,但不會區分表

另:在安裝mysql檔案的時候,配置mysql過程中也會有一步提示資料表空間檔案的安裝路徑

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.