程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySql 存儲引擎,mysql存儲引擎

MySql 存儲引擎,mysql存儲引擎

編輯:MySQL綜合教程

MySql 存儲引擎,mysql存儲引擎


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

開發人員對數據庫一定不陌生,但是現在的各種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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved