1. 程式人生 > >如何選擇數據庫存儲引擎

如何選擇數據庫存儲引擎

不支持 表鎖 pos href 安裝 功能 硬盤 和數 4類

常見的數據庫存儲引擎有:ISAM、MYISAM 和 InnoDB; 根據每個不同的存儲引擎提供的不同的核心功能、以及不同的應用場景等;一般把核心功能分為4類:支持的字段和數據類型、鎖定類型、索引、以及事務處理; 1:支持的字段和數據類型: 雖然所有的引擎都支持通用的數據類型(如:整型、字符串等)、但是、並不是所有的引擎都支持其它的字段類型(如:二進制、TEXT文本類型); 2:鎖定類型: 鎖定機制主要是為了防止多個處理同時更新同一個數據。不同的存儲引擎支持不同級別的鎖:表鎖定、頁鎖、行鎖等; 3:表鎖: 開銷小、加鎖快、不會出現死鎖。鎖定力度大、發生鎖沖突的概率比較高、並發度最低。支持最多的就是表鎖定,MYISAM 和 MEMORY 支持表鎖。MySQL的表鎖有兩種模式、表共享讀鎖和表共享寫鎖。對於 MYISAM 表的讀操作、不會阻塞其它用戶對同一表讀的請求、但是會阻塞對同一表的寫請求;對 MyISAM 表的寫操作、則會阻塞其它用戶對同一表的讀和寫操作; 4:行鎖: 開銷大、加鎖慢、會出現死鎖;鎖力度最小、發生鎖沖突的概率最低、並發也是最高的。InnoDB 表進是行鎖定; 5:索引: 建立索引在搜索和恢復數據庫中的數據的時候、能夠顯著提高性能;不同的存儲引擎提供不同的制作索引對技術、有的搜索引擎不支持索引; 6:事務處理: 事務處理有助於提高向表中更新數據和插入數據期間的可靠性; ISAM:
ISAM 是一個定義明確且歷經時間考驗的數據表格管理方法,它在設計之時就考慮到數 據庫被查詢的次數要遠大於更新的次數。因此,ISAM 執行讀取操作的速度很快,而且不占 用大量的內存和存儲資源。ISAM 的兩個主要不足之處在於,它不支持事務處理,也不能夠 容錯:如果你的硬盤崩潰了,那麽數據文件就無法恢復了。 MyISAM: MyISAM 管理非事務表、是ISAM 的擴展格式。除了提供ISAM裏所沒有的索引的字段管理等的大量功能、MyISAM 還使用一種表格鎖定的機制、來優化多個並發的讀寫操作。MyISAM 提供高速存儲和檢索、以及全文搜索能力;在MYSQL5.5.5版本及以下的所有MYSQL配置裏被支持。也是默認的存儲引擎。 InnoDB:
InnoDB 引擎是MySQL數據庫的另一個重要的存儲引擎、被包含在所有的二進制安裝包裏面、和其它的存儲引擎相比、InnoDB引擎的優點是支持兼容ACID的事物、以及參數完整性(有外鍵)等。MySQL5.5.5以後默認的存儲引擎都是InnoDB引擎;

如何選擇數據庫存儲引擎