現在我們常用的mysql儲存引擎主要是兩種:innodb and myisam。
1.myisam
執行效率高
不支援事務
不支援外來鍵
每個myisam在磁碟上儲存成3個檔案,其中檔名和表名都相同,但是副檔名分別為:
2.innodb(當前mysql的預設 儲存引擎)
支援事務:提供具有提交、回滾和崩潰恢復能力的事務安全。
支援外來鍵約束。
支援行級鎖。
對比myisam儲存引擎,innodb的寫處理效率差一些以及會占用更多的磁碟空間來保留資料和索引。
在以下場合下,使用innodb是最理想的選擇:
更新密集的表。innodb儲存引擎特別適合處理多重併發的更新請求。
事務。innodb儲存引擎是支援事務的標準mysql儲存引擎。
自動災難恢復。與其它儲存引擎不同,innodb表能夠自動從災難中恢復。
外來鍵約束。mysql支援外來鍵的儲存引擎只有innodb。
支援自動增加列auto_increment屬性。
3.memory
採用的邏輯儲存介質是系統記憶體。
最大的特點就是速度快。但是也因為在記憶體中,當mysqld守護程序崩潰時,所有memory資料都會丟失。
memory要求儲存在資料表裡的資料使用的是長度不變的格式,這意味著不能使用blob和text這樣的長度可變的資料型別,varchar是一種長度可變的型別,但因為它在mysql內部當做長度固定不變的char型別,所以可以使用。
還有一些其他型別的儲存引擎。因本人實際開發中,未曾接觸,暫不總結。
mysql儲存引擎學習
文章摘抄至 那麼什麼是儲存引擎呢?儲存引擎說白了就是如何儲存資料 如何為儲存的資料建立索引和如何更新 查詢資料等技術的實現方法。因為在關聯式資料庫中資料的儲存是以表的形式儲存的,所以儲存引擎也可以稱為表型別 即儲存和操作此表的型別 在oracle 和sql server等資料庫中只有一種儲存引擎,所...
MySQL學習 儲存引擎
mysql 可以將資料以不同的技術儲存在檔案 記憶體 中,這種技術就稱作從儲存引擎。不同的儲存引擎使用不同的儲存機制,索引技巧,鎖定水平,最終提供廣泛且不同的功能。mysql支援的儲存引擎 當多個連線對記錄進行修改時需要保證資料的一致性與完整性,併發控制可以通過鎖機制實現。鎖 鎖顆粒 事務是區別於檔...
mysql儲存引擎 mysql儲存引擎簡介
精品推薦 什麼是儲存引擎 mysql儲存引擎是資料庫如何儲存資料 怎樣建立索引以及如何查詢更新資料等技術的實現方法,資料通過使用不同的技術儲存在檔案中,使用不同的儲存機制 索引方式來提供不同的功能。在mysql這種關係型資料中心來說,資料是以表的方式來儲存的,因此,簡單點來說,儲存引擎就是儲存和操作...