InnoDB 中文參考手冊 --- InnoDB Tables 概述
2024-07-21 02:08:51
供稿:網友
innodb 中文參考手冊 --- 犬犬(心帆)翻譯 1 innodb tables 概述
innodb 給 mysql 提供了具有事務(commit)、回滾(rollback)和崩潰修復能力(crash recovery capabilities)的事務安全(transaction-safe (acid compliant))型表。innodb 提供了行鎖(locking on row level),提供與 oracle 類型一致的不加鎖讀取(non-locking read in selects)。這些特性均提高了多用戶并發操作的性能表現。在innodb表中不需要擴大鎖定(lock escalation),因為 innodb 的列鎖定(row level locks)適宜非常小的空間。innodb 是 mysql 上第一個提供外鍵約束(foreign key constraints)的表引擎。
innodb 的設計目標是處理大容量數據庫系統,它的 cpu 利用率是其它基于磁盤的關系數據庫引擎所不能比的。
在技術上,innodb 是一套放在 mysql 后臺的完整數據庫系統,innodb 在主內存中建立其專用的緩沖池用于高速緩沖數據和索引。 innodb 把數據和索引存放在表空間里,可能包含多個文件,這與其它的不一樣,舉例來說,在 myisam 中,表被存放在單獨的文件中。innodb 表的大小只受限于操作系統的文件大小,一般為 2 gb。
在http://www.innodb.com/上可以找到 innodb 最新的信息。innodb 手冊的最新版本總是被放置在那里,并且在那里可以得到 innodb 的商業許可(order commercial licenses)以及支持。
innodb 現在(2001年十月)在一些大的需高性能的數據庫站點上被使用。著名的 internet 新聞站點 slashdot.org 就是使用的 innodb。 mytrix, inc. 在 innodb 表上存儲了超過 1 tb 的數據,而且另外的一個站點在 innodb 表上處理著平均每秒 800 次的插入/更新的負載。
在 mysql 的源代碼中,從 3.23.34a 開始包含 innodb 表引擎,并在 mysql -max 的二進制版本中激活。
為了使用 innodb 表引擎,必須在‘my.cnf’或‘my.ini’文件中詳細指定 innodb 的啟動配置。最小的修改方法就是在 [mysqld] 區中加入下面一行:
innodb_data_file_path=ibdata:30m
但是為了得到最好的性能推薦詳細指定配置選項,查看 2 innodb startup options。
innodb 以 gnu gpl 版本 2 的許可發布(1991年六月)。
1.1 mysql/innodb 發布版本間的差別
mysql-max-3.23: 這是一個穩定版本,被推薦為產品使用。 mysql-4.0: 這是一個開發版本,與 mysql 3.23 相比它包含了一些新特性,比如多表刪除(multi-table delete)、查詢結果緩沖(cached query results)和 ssl 通信。4.0 版與 3.23 版中的 innodb 表引擎是一致的。4.0.1 的穩定性可被歸類為 beta。 mysql-4.0 embedded server library: you can link this into your application. the benefits are easier deployment for your application, better performance, and easier use. the stability of the embedded library is classified as alpha, but it should be gamma within a few months.