MySQL學習筆記(1) - 儲存引擎概述

來源:互聯網
上載者:User

標籤:

和大多數資料庫不同,在MySQL中存在一個儲存引擎的概念,針對不同的儲存需求可以選擇最優的儲存引擎。

一、MySQL儲存引擎概述

外掛程式式儲存引擎是MySQL資料庫最重要的特徵之一,使用者可以根據應用的需要尋找如何儲存和索引資料、是否使用事務等。MySQL預設支援多種儲存引擎,以適用於不同領域的資料庫應用需求,使用者可以通過選擇選擇不同的儲存引擎提供應用的效率,提供靈活的儲存,使用者甚至可以按照自己的需要定製和使用自己的儲存引擎,以實現最大程度的可定製性。

MySQL支援的儲存引擎包括MyISAM、InnoDB、BDB、MEMORY、MERGE、EXAMPLE、NDB Cluster、ARCHIVE、CVS、BLACKHOLE、FEDERATED等,其中InnoDB和BDB提供事務安全表,其他儲存引擎都是非事務安全表。

預設情況下,建立表時未指定表的儲存引擎,則該表使用預設的儲存引擎。如果需要修改預設的儲存引擎,則可以在參數檔案中設定defalut-table-type。查看當前的預設儲存引擎,可以使用如下命令:

show variables like ‘table_type‘;

可以通過下列兩種方法查詢當前資料庫支援的儲存引擎:

mysql> show engines;mysql> show variables like ‘have%‘;

在建立表時,可以通過增加ENGINE關鍵字設定表的儲存引擎:

CREATE TABLE table_name1(  ...) ENGINE=MyISAM;CREATE TABLE table_name2(  ...) ENGINE=InnoDB;

也可以通過ALTER TABLE語句將一個已經存在的表修改成其他的儲存引擎:

alter table table_name ENGINE=innodb;

二、MySQL中各類儲存引擎的特徵見下表:

特點 MyISAM InnoDB Memory Merge NDB
儲存限制 64TB 沒有
事務安全   支援      
鎖機制 表鎖 行鎖 表鎖 表鎖 行鎖
B樹索引 支援 支援 支援 支援 支援
雜湊索引   支援     支援
全文索引 支援        
叢集索引   支援      
資料緩衝   支援 支援   支援
索引緩衝 支援 支援 支援 支援 支援
資料可壓縮 支援        
空間使用  
記憶體使用量
批量插入速度
支援外鍵   支援      

 

MySQL學習筆記(1) - 儲存引擎概述

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.