MySQL資料庫優化之引擎入門

2021-09-10 09:12:58 字數 969 閱讀 7414

資料庫引擎是用於儲存、處理和保護資料的核心服務。利用資料庫引擎可控制訪問許可權並快速處理事務,從而滿足企業內大多數需要處理大量資料的應用程式的要求。 使用資料庫引擎建立用於聯機事務處理或聯機分析處理資料的關聯式資料庫。

(一) myisam儲存引擎

myiasm是mysql預設的引擎,但是它沒有提供對資料庫事務的支援,也不支援行級鎖和外來鍵

當insert(插入)或update(更新)資料時即寫操作需要鎖定整個表,效率便會低一些

myiasm中儲存了表的行數,於是select count(*) from table時只需要直接讀取已經儲存好的值而不需要進行全表掃瞄

如果表的讀操作遠遠多於寫操作且不需要資料庫事務的支援,那麼myiasm也是很好的選擇

myiasm支援全文型別索引

全文索引(full-text index):主要是為了解決在我們需要用like查詢的低效問題
(二) innodb儲存引擎

支援事務安裝

資料多版本讀取

行級鎖、實現外來鍵約束

沒有儲存表的行數,當select count(*) from table時需要掃瞄全表

mysql執行時innodb會在記憶體中建立緩衝池,用於緩衝資料和索引

innodb不支援全文索引

(三) memory儲存引擎

memory儲存引擎,通過名字就很容易讓人知道,他是乙個將資料儲存在記憶體中的儲存引擎。memory儲存引擎不會將任何資料存放到磁碟上,僅僅存放了乙個表結構相關資訊的.frm檔案在磁碟上面。所以一旦mysqlcrash或者主機crash之後,memory的表就只剩下乙個結構了。memory表支援索引,並且同時支援hash和b-tree兩種格式的索引。由於是存放在記憶體中,所以memory都是按照定長的空間來儲存資料的,而且不支援blob和text型別的字段。memory儲存引擎實現頁級鎖定。

Mysql資料庫優化之儲存引擎介紹

myisam儲存引擎 innodb儲存引擎 memory儲存引擎 merge儲存引擎 指定儲存引擎的指令碼 在建立表的指令碼的結束前加engine innodb myisam儲存引擎不支援事務,也不支援外來鍵。但是它的優勢是訪問速度快,對事務完整性沒有要求或者以select insert為主的應用基...

mysql之資料庫引擎

archive 支援插入和查詢兩種功能。在mysql 5.5以後的版本支援索引。使用 archive引擎建立表,會生成 frm 檔案和 arz 檔案,frm 檔案中儲存表的定義,arz 檔案中儲存表的壓縮後的資料和索引。isam isam是乙個定義明確且歷經時間考驗的資料 管理方法,查詢速度快,並且...

mysql資料庫引擎 mysql資料庫引擎

資料庫引擎是用於儲存 處理和保護資料的核心服務。利用資料庫引擎可控制訪問許可權並快速處理事務,從而滿足企業內大多數需要處理大量資料的應用程式的要求。使用資料庫引擎建立用於聯機事務處理或聯機分析處理資料的關聯式資料庫。這包括建立用於儲存資料的表和用於檢視 管理和保護資料安全的資料庫物件 如索引 檢視和...