二 MySQL儲存引擎

2021-10-13 23:30:04 字數 1214 閱讀 9228

二、儲存引擎myisam和innodb區別

(1)、innodb支援事務,myisam不支援。

(2)、myisam適合查詢以及插入為主的應用,innodb適合頻繁修改以及涉及到安全性較高的應用。

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

(4)、從mysql5.5.5以後,innodb是預設引擎。

(5)、myisam支援全文型別索引,而innodb不支援全文索引。

(6)、innodb中不儲存表的總行數,select count(*) from table時,innodb需要掃瞄整個表計算有多少行,但myisam只需簡單讀出儲存好的總行數即可。注:當count(*)語句包含where條件時myisam也需掃瞄整個表。

(7)、對於自增長的字段,innodb中必須包含只有該字段的索引,但是在myisam表中可以和其他字段一起建立聯合索引。

(8)、清空整個表時,innodb是一行一行的刪除,效率非常慢。myisam則會重建表。myisam使用delete語句刪除後並不會立刻清理磁碟空間,需要定時清理,命令:optimize table dept;

(9)、innodb支援行鎖(某些情況下還是鎖整表,如 update table set a=1 where user like 『%lee%』)和表鎖,myisam只支援表級鎖。

(10)、myisam建立表生成三個檔案:.frm 資料表結構 、 .myd 資料檔案 、 .myi 索引檔案,innodb只生成乙個 .frm檔案,資料存放在ibdata1.log現在一般都選用innodb,主要是myisam的全表鎖,讀寫序列問題,併發效率鎖表,效率低,myisam對於讀寫密集型應用一般是不會去選用的。

應用場景:

myisam不支援事務處理等高階功能,但它提供高速儲存和檢索,以及全文搜尋能力。如果應用中需要執行大量的select查詢,那麼myisam是更好的選擇。

innodb用於需要事務處理的應用程式,包括acid事務支援。如果應用中需要執行大量的insert或update操作,則應該使用innodb,這樣可以提高多使用者併發操作的效能。

mysql儲存引擎 mysql儲存引擎簡介

精品推薦 什麼是儲存引擎 mysql儲存引擎是資料庫如何儲存資料 怎樣建立索引以及如何查詢更新資料等技術的實現方法,資料通過使用不同的技術儲存在檔案中,使用不同的儲存機制 索引方式來提供不同的功能。在mysql這種關係型資料中心來說,資料是以表的方式來儲存的,因此,簡單點來說,儲存引擎就是儲存和操作...

mysql個儲存引擎 MySQL儲存引擎

mysql資料庫的體系架構如下圖所示 從上圖中可以看出,mysql主要分為以下幾個元件 連線池元件 管理服務和工具元件 sql介面元件 分析器元件 優化器元件 緩衝元件 外掛程式式儲存引擎 物理檔案 儲存引擎 其實就是指定表如何儲存資料,如何為儲存的資料建立索引以及如何更新 查詢資料等技術實現的方法...

mysql儲存引擎模式 mysql儲存引擎

mysql資料庫的體系架構如下圖所示 從上圖中可以看出,mysql主要分為以下幾個元件 連線池元件 管理服務和工具元件 sql介面元件 分析器元件 優化器元件 緩衝元件 外掛程式式儲存引擎 物理檔案 一 儲存引擎 儲存引擎 其實就是指定 表 如何儲存資料,如何為儲存的資料 建立索引以及 如何更新,查...