MySQL儲存引擎概述

來源:互聯網
上載者:User

標籤:mysq   概述   amp   cto   變數   check   預設   不同   null   

一、MySQL支援外掛程式式儲存引擎,預設包括有多種儲存引擎,還可以自己定製化引擎,引擎是在表層級設定的。

二、各種儲存引擎的特性

  (A) MyISAM :不支援事務、不支援外鍵、訪問速度快。

    每個MyISAM表在磁碟上儲存成3個檔案,檔案名稱與表名相同,副檔名是:

    (A1) frm (儲存表定義)

    (A2) MYD (MYData, 儲存資料)

    (A3) MYI (MYIndex, 儲存索引)

    資料檔案和索引檔案可以放置在不同的目錄,平均分布IO,獲得更快的速度。可以在建立表的時候,指定該表的 DATA DIRECTORY

 和 INDEX DIRECTORY 語句來分別指定路徑。

    MyISAM表可能損壞,可以通過工具檢測和修複,表損壞可能導致資料庫異常重新啟動,需要儘快修複。支援三種儲存格式,分別是:

    靜態(固定長度)表;欄位都是非變長欄位:儲存速度快,容易緩衝,故障易恢複,佔用空間多。注意:會去除欄位的尾部空格

    動態表;包含變長欄位,可能產生片段,需定期最佳化表。佔用空間較多,故障不易恢複。

    壓縮表;由 myisampack 工具建立,佔用空間非常小,每個記錄單獨壓縮,非常小的訪問開支。

  (B) InnoDB :支援事務、支援外鍵,相比於MyISAM,寫入速度稍差一些,佔用空間稍多一些。

  注意:使用 LAST_INSERT_ID() 查詢的只是當前線程最後插入記錄使用的值,並不是資料庫中最後插入記錄使用的值。

  外部索引鍵關聯時:四種索取類型:

    RESTRICT:限制在子表有關聯記錄的情況下,父表不能更新或者刪除;

    NO ACTION:限制在子表有關聯記錄的情況下,父表不能更新或者刪除;

    CASCADE:表示父表在更新或刪除時,相應地更新和刪除子表的記錄。

    SET NULL:表示父表在更新或刪除時,子表的對應欄位被SET NULL。

  當某個表被其他表建立了外鍵參照,那麼該表的對應索引或者主鍵禁止被刪除。

  可以暫時關閉外鍵的檢測:SET FOREIGN_KEY_CHECKS=0。

  InnoDB儲存表和索引有兩種方式:

    使用共用資料表空間儲存,表結構在 .frm 檔案中,資料和索引檔案在 innodb_data_home_dir 和 innodb_data_file_path 定義的資料表空間中,可以是多個檔案。

    使用多資料表空間儲存,表結構在 .frm 檔案中,每個表的資料和索引單獨在 .ibd 中。如果是分區表,這每個分區對應單獨的 .ibd 檔案,檔案名稱是“表名+分區名", 可以指定每個分區的資料檔案位置。

    注意:即使在多資料表空間的儲存方式下,共用資料表空間還是必須的,InnoDB把內部資料詞典和未作日誌放在這個檔案中。

  (C) MEMORY:使用記憶體中的內容來建立表。訪問速度快,預設是HASH索引,資料不可持久化。

    每個MEMORY表只對應一個磁碟檔案,格式是 .frm。

    每個MEMORY表的資料量大小,受到 max_heap_table_size 系統變數的約束,初始大小是16MB。

    MEMORY表通常用於內容變化不頻繁的轉換碼錶,統計操作的中間結果表。注意該表資料的不持久化特性。

  (D) MERGE:其實就是對多個結構完全相同的MyISAM表的合并表示。

    

 

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.