1. 程式人生 > >儲存引擎和索引

儲存引擎和索引

一.儲存引擎
重點內容關係資料庫表是用於儲存和組織資訊的資料結構,可以將表理解為由行和列組成的表格,類似於Excel的電子表格的形式。有的表簡單,有的表複雜,有的表根本不用來儲存任何長期的資料,有的表讀取時非常快,但是插入資料時去很差;而我們在實際開發過程中,就可能需要各種各樣的表,不同的表,就意味著儲存不同型別的資料,資料的處理上也會存在著差異,那麼。對於MySQL來說,它提供了很多種型別的儲存引擎,我們可以根據對資料處理的需求,選擇不同的儲存引擎,從而最大限度的利用MySQL強大的功能。
1.MyISAM表無法處理事務,這就意味著有事務處理需求的表,不能使用MyISAM儲存引擎。MyISAM儲存引擎特別適合在以下幾種情況下使用:

  • 選擇密集型的表。MyISAM儲存引擎在篩選大量資料時非常迅速,這是它最突出的優點。
  • 插入密集型的表。MyISAM的併發插入特性允許同時選擇和插入資料。例如:MyISAM儲存引擎很適合管理郵件或Web伺服器日誌資料。

2.InnoDB是一個健壯的事務型儲存引擎,這種儲存引擎已經被很多網際網路公司使用,為使用者操作非常大的資料儲存提供了一個強大的解決方案。在以下場合下,使用InnoDB是最理想的選擇:

  • 更新密集的表。InnoDB儲存引擎特別適合處理多重併發的更新請求
  • 事務。InnoDB儲存引擎是支援事務的標準MySQL儲存引擎。
  • 自動災難恢復。與其它儲存引擎不同,InnoDB表能夠自動從災難中恢復。
  • 外來鍵約束。MySQL支援外來鍵的儲存引擎只有InnoDB
  • 支援自動增加列AUTO_INCREMENT屬性

二.索引