mysql儲存引擎

2021-08-31 12:03:48 字數 1410 閱讀 4052

[05-25]談mysql的儲存引擎以及儲存列表

什麼是mysql資料庫?

通常意義上,資料庫也就是資料的集合,具體到計算機上資料庫可以是儲存器上一些檔案的集合或者一些記憶體資料的集合。

我們通常說的mysql資料庫,sql server資料庫等等其實是資料庫管理系統,它們可以儲存資料,並提供查詢和更新資料庫中的資料的功能等等。根據資料庫如何儲存資料和如何運算元據的實現機制不同,這些資料庫之間即有區別又有共同點。

mysql資料庫是開放源**的關係型資料庫。目前,它可以提供的功能有:支援sql語言、子查詢、儲存過程、觸發器、檢視、索引、事務、鎖、外來鍵約束和影像複製等。在後期,我們會詳細講解這些功能。

同oracle 和sql server等大型資料庫系統一樣,mysql也是客戶/伺服器系統並且是單程序多執行緒架構的資料庫。

mysql區別於其它資料庫系統的乙個重要特點是支援插入式儲存引擎。

那麼什麼是儲存引擎呢?

儲存引擎說白了就是如何儲存資料、如何為儲存的資料建立索引和如何更新、查詢資料等技術的實現方法。因為在關聯式資料庫中資料的儲存是以表的形式儲存的,所以儲存引擎也可以稱為表型別(即儲存和操作此表的型別)。

在oracle 和sql server等資料庫中只有一種儲存引擎,所有資料儲存管理機制都是一樣的。而mysql資料庫提供了多種儲存引擎。使用者可以根據不同的需求為資料表選擇不同的儲存引擎,使用者也可以根據自己的需要編寫自己的儲存引擎。

mysql中有哪些儲存引擎?

1 myisam:這種引擎是mysql最早提供的。這種引擎又可以分為靜態myisam、動態myisam 和壓縮myisam三種:

靜態myisam:如果資料表中的各資料列的長度都是預先固定好的,伺服器將自動選擇這種表型別。因為資料表中每一條記錄所占用的空間都是一樣的,所以這種表訪問和更新的效率非常高。當資料受損時,恢復工作也比較容易做。

動態myisam:如果資料表中出現varchar、***text或***blob欄位時,伺服器將自動選擇這種表型別。相對於靜態myisam,這種表儲存空間比較小,但由於每條記錄的長度不一,所以多次修改資料後,資料表中的資料就可能離散的儲存在記憶體中,進而導致執行效率下降。同時,記憶體中也可能會出現很多碎片。因此,這種型別的表要經常用optimize table 命令或優化工具來進行碎片整理。

壓縮myisam:以上說到的兩種型別的表都可以用myisamchk工具壓縮。這種型別的表進一步減小了占用的儲存,但是這種表壓縮之後不能再被修改。另外,因為是壓縮資料,所以這種表在讀取的時候要先時行解壓縮。

但是,不管是何種myisam表,目前它都不支援事務,行級鎖和外來鍵約束的功能。

2 myisam merge引擎:這種型別是myisam型別的一種變種。合併表是將幾個相同的myisam表合併為乙個虛表。常應用於日誌和資料倉儲。

3 innodb:innodb表型別可以看作是對myisam的進一步更新產品,它提供了事務、行級鎖機制和外來鍵約束的功能。

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

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

mysql個儲存引擎 MySQL儲存引擎

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

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

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