mysql資料庫引擎(InnoDB MyISAM)

2022-07-17 20:45:08 字數 790 閱讀 1264

mysql的預設儲存引擎』在5.5版本以前是myisam,5.5之後是innodb。

兩種儲存引擎的索引結構都是b+樹,b+樹的詳細介紹可參考

innodb 與myisam區別

1. innodb支援事務,myisam不支援,對於innodb每一條sql語言都預設封裝成事務,自動提交,這樣會影響速度,所以最好把多條sql語言放在begin transaction和commit之間,組成乙個事務;  

2. innodb支援外來鍵,而myisam不支援。對乙個包含外來鍵的innodb表轉為myisam會失敗;  

3. innodb是聚集索引,資料檔案是和索引綁在一起的,必須要有主鍵,通過主鍵索引效率很高。但是輔助索引需要兩次查詢,先查找到主鍵,然後再通過主鍵查詢到資料。因此,主鍵不應該過大,因為主鍵太大,其他索引也都會很大。而myisam是非聚集索引,資料檔案是分離的,索引儲存的是資料檔案的指標。主鍵索引和輔助索引是獨立的。

4. innodb不儲存表的具體行數,執行select count(*) from table時需要全表掃瞄。而myisam用乙個變數儲存了整個表的行數,執行上述語句時只需要讀出該變數即可,速度很快;  

5. innodb不支援全文索引,而myisam支援全文索引,查詢效率上myisam要高;

6. 系統崩潰後,myisam恢復起來更困難。

關於儲存引擎選擇

1. 是否要支援事務,如果要請選擇innodb,如果不需要可以考慮myisam

2. 如果表中絕大多數都只是讀查詢,可以考慮myisam,如果既有讀寫頻繁,建議使用innodb。

MYSQL資料庫引擎,ISAM和INNODB

其餘都屬於第二類,稱為 非事務安全型 non transaction safe 1 isam isam是乙個定義明確且歷經時間考驗的資料 管理方法,它在設計之時就考慮到資料庫被查詢的次數要遠大於更新的次數。因此,isam執行讀取操作的速度很快,而且不占用大量的記憶體和儲存資源。isam的兩個主要不足...

mysql修改資料庫的儲存引擎 InnoDB

檢視當前的儲存引擎 基本的差別 myisam型別不支援事務處理等高階處理,而innodb型別支援。myisam型別的表強調的是效能,其執行數度比innodb型別更快,但是不提供事務支援,而innodb提供事務支援以及外部鍵等高階資料庫功能。然後,一般我們的專案中設計的資料表是有外來鍵的.修改儲存引擎...

mysql修改資料庫的儲存引擎 InnoDB

目前例子是把引擎myisam修改為innodb 檢視當前資料庫的所支援的資料庫引擎以及預設資料庫引擎 資料庫支援的引擎和預設資料庫引擎 show engines 更改方式1 修改配置檔案my.cnf 開啟my.cnf,在 mysqld 最後新增為上default storage engine inn...