MySQL 常見的兩種儲存引擎

2022-06-27 17:39:11 字數 603 閱讀 2184

mysql兩種常見的儲存引擎有:myisam 和 innodb,兩者區別如下:

1、count運算:myisam 有快取表的 meta-data 元資料,元資料報括行數等,因此其做 count(*) 查詢時不需要消耗多少資源。而 innodb 就沒有這個快取。

2、事務和崩潰後的安全恢復:myisam強調的是效能,每次查詢具備原子性,執行速度比 innodb 更快,但是myisam 不提供事務的支援。而innodb 支援事務、外部鍵等高階資料庫功能。具有事務提交(commit)、回滾(rollback)和崩潰修復(crash recovery capabilities)的事務安全(transaction-safe (acid compliant))型表。

3、支援外來鍵:innodb支援,myisam 不支援。

myisam更適合讀密集的表,而innodb更適合寫密集的的表。 在資料庫做主從分離的情況下,經常選擇myisam作為主庫的儲存引擎。 一般來說,如果需要事務支援,並且有較高的併發讀取頻率(myisam的表鎖的粒度太大,所以當該表寫併發量較高時,要等待的查詢就會很多了),innodb是不錯的選擇。如果你的資料量很大(myisam支援壓縮特性可以減少磁碟的空間占用),而且不需要支援事務時,myisam是最好的選擇。

mysql的兩種引擎 mysql的兩種儲存引擎

背景 最近在使用spring data jpa操作mysql,在使用jpa的自動建表功能之後,處理多對多關係 manytomany的時候,spring data jpa會給中間表的兩個欄位都加上外來鍵引用。當前使用的版本預設的資料庫儲存引擎為myisam。這種儲存引擎是為資料庫查詢效能而生的,不支援...

MySQL兩種儲存引擎區別

innodb引擎 innodb引擎提供了對資料庫acid事務的支援,並且實現了sql標準的四種隔離級別。該引擎還提供了行級鎖和外來鍵約束,他設計的目的是處理大容量資料庫系統,它本身就是基於mysql的完整的資料庫系統,mysql執行時innodb會在記憶體中建立緩衝池,用來緩衝資料和索引。innod...

Mysql 兩種儲存引擎的區別

1 支援acid的事務,支援事務的四種隔離級別 2 支援行級鎖及外來鍵約束 因此可以支援寫併發 3 不儲存總行數 4 乙個innodb引擎儲存在乙個檔案空間 共享表空間,表大小不受作業系統控制,乙個表可能分布在多個檔案裡 也有可能為多個 設定為獨立表空,表大小受作業系統檔案大小限制,一般為2g 受作...