數據庫存儲引擎選擇與介紹

開發中,我們經常使用的有MyISAM/innodb/memory等數據庫引擎,那麼在這些常用的數據庫引擎怎麼選擇呢?

數據庫存儲引擎選擇:

MyISAM引擎:

               如果表對事務的要求不高,同時是以查詢和添加爲主的,我們考慮使用MyISAM存儲引擎

innodb引擎:

               對事務要求高,保存的數據都是重要的數據,我們建議使用INNODB

memory引擎:

               我們數據變化頻繁,不需要入庫,同時又頻繁的查詢和修改,我們考慮使用(速度快)


數據庫存儲引擎介紹:

來自文章:https://blog.csdn.net/zyx1260168395/article/details/105088359

MyIsam:

  • 使用三個文件表示每個表:
  1. 格式文件 — 存儲表的結構(mytable.frm)
  2. 數據文件 — 存儲表的數據(mytable.MYD)
  3. 索引文件 — 存儲表的索引(mytable.MYI)
  • 對錶文件中數據行查詢提速,有很大幫助。
  • 靈活的AUTO_INCREMENT字段處理
  • 可被轉換爲壓縮、只讀表來節省空間
  • 但是MyIsam不支持事務,因此在進行數據行添加,修改,刪除時,無法保證數據安全性

INNODB:MySQL數據庫的默認引擎;

  • 每個InnoDB表在數據庫目錄中以.frm格式文件表示
  • InnoDB表空間tablespace被用於存儲表的內容
  • 提供一組用來記錄事務性活動的日誌文件
  • 支持事務處理
  • 提供全ACID兼容
  • 在MySQL服務器崩潰後提供自動恢復
  • 多版本(MVCC)和行級鎖定
  • 支持外鍵及引用的完整性,包括級聯更新和刪除

MEMORY:其數據存儲在內存中,且行的長度固定,這兩個特點使得MEMORY存儲引擎非常快;

  • 在數據庫目錄內,每個表均以.frm格式文件表示;
  • 表數據及索引被存儲在內存中;
  • 表級鎖機制;
  • 不能包含TEXT或BLOB字段;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章