MySql 儲存引擎

來源:互聯網
上載者:User

標籤:

部落格園已開通有一段時間,一直有想寫部落格的想法,但苦於文筆及沒有系統的知識分享,第一篇部落格一直拖到現在。

開發人員對資料庫一定不陌生,但是現在的各種ORM架構使得我們不太關注資料庫方面的知識儲備。今天我就從資料庫原理來分享最近學到的一些知識。

部落格除分享所學外,更重要的是給自己知識的鞏固。如果有不對的地方還請指正,拍磚。

1、引言

     MySQL 資料庫專屬的外掛程式式體繫結構,儲存引擎是MySQL區別於其他資料庫的一個最重要特性。儲存引擎的好處是,每個儲存引擎都有各自的特點,可以根據具體的應用建立不同儲存引擎表。

     由於 MySQL 資料庫開源特性,儲存引擎可以分為2類:     第一類:MySQL 官方儲存引擎     第二類:第三方儲存引擎 如:InnoDB   2、各儲存引擎介紹     2.1 InnoDB 儲存引擎          InnoDB 儲存引擎支援事務,設計主要面向線上交易處理 (OLTP) 的應用。特點是 行鎖設計、支援外鍵、並支援類似於 Oracle 的非鎖定讀,預設讀取操作不會產生鎖。從 MySQL 資料庫 5.5.8 版本開始,InnoDB 儲存引擎是的儲存引擎。          InnoDB 儲存引擎將資料放在一個邏輯的資料表空間中,這個資料表空間就像黑盒一樣由 InnoDB 儲存引擎自身管理。可以將每個 InnoDB 儲存引擎的表單獨放到一個獨立的 idb 檔案中。          InnoDB 通過使用多版本並發控制 (MVCC) 來獲得高並發性,並且實現了 SQL 標準的4種隔離等級,黑夜為 REPEATABLE 層級。 InnoDB 儲存引擎還提供了插入緩衝 、二次寫、自適應雜湊索引、預讀等高效能和高可用功能         對於表中資料的儲存,InnoDB 儲存引擎採用了聚焦 (clustered) 的方式,因此每張表的儲存都是按主鍵的順序進行存放。如果沒有顯示地在表定義時指定主鍵, InnoDB 儲存引擎會為每一行產生一個 6 位元組的 ROWID, 並以此作為主鍵。      2.2 MyISAM 儲存引擎       MyISAM 儲存引擎不支援事務、表鎖設計,支援全文索引,主要面向一些 OLAP 資料庫應用。資料庫系統與檔案系統很大的一個不同之處在於對事務的支援,然而MyISAM 儲存引擎是不支援事務的。         MyISAM 儲存引擎的另一個不同地方是它的緩衝池只緩衝 (cache) 索引檔案,而不緩衝資料檔案,這點與大多數的資料庫都不同         MyISAM 儲存引擎表由 MYD 和 MYI 組成,MYD 用來存放資料檔案, MYI 用來存放索引檔案。可以通過使用 myisampack 工具來進一步壓縮資料,因此使用 myisampack 工具壓縮後的表是唯讀,也可以用 myisampack 來解壓資料檔案。         在 MySQL 5.0 版本之前, MyISAM 預設支援的表大小為 4GB,如果需要支援大於4G,需要制定 MAX_ROWS 和 AVG_ROW_LENGTH屬性。從5.0版本開始,預設支援256TB的單表資料。     2.3 NDB 儲存引擎        NDB 儲存引擎是一個叢集儲存引擎,類似於 Oracle 的RAC叢集,與之不同的是,其結構是 share nothing 的叢集架構,因此能提供更高的可用性。          特點:a. 資料全部放在記憶體中,因此主鍵尋找速度極快,並且通過加NDB 資料存放區節點可以線性地提高資料庫效能,是高可用、高效能的叢集系統。          注意:NDB 儲存引擎的串連操作 (JOIN) 是在 MySQL 資料庫層完成的, 不是在儲存引擎層完成。意味著複雜的串連操作需要巨大的網路開銷,因此查詢速度很慢。     其他儲存引擎這裡就不一一介紹,有興趣的童鞋可以通過  MySQL 技術內幕 中瞭解     總結:每種儲存引擎的實現都不相同,MYSQL 資料的設計思想和儲存引擎的關係需要資料庫設計者權衡。    查看當前MYSQL 資料庫所支援的儲存引擎命令: show engings

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.