Mysql的儲存引擎

2021-08-17 20:30:56 字數 1772 閱讀 3989

儲存引擎:

mysql可以將資料以不同的技術儲存在檔案(記憶體)中,這種技術就稱為儲存引擎。

每一種儲存引擎使用不同的儲存機制、索引技巧、鎖定水平,最終提供廣泛且不同的功能。

mysql支援的儲存引擎:

myisam、innodb、memory、csv、archive

常用的:myisam、innodb

了解幾個知識點:

併發控制:當多個連線對記錄進行修改時保證資料的一致性和完整性。

例如:當乙個使用者要刪除一條記錄的同時,另一名使用者要檢視該條記錄,其結果有可能是檢視失敗或者是檢視到一條錯誤的結果。

解決辦法那? 就有了鎖機制、

鎖:a、共享鎖(讀鎖):在同一時間段內,多個使用者可以讀取同乙個資源,讀取過程中資料不會發生任何變化。

b、排他鎖(寫鎖):在任何時候只能有乙個使用者寫入資源,當進行寫鎖時會阻塞其他的讀鎖或者寫鎖操作。

只需要對修改的資料精確加鎖即可。

鎖顆粒(鎖定時的單位):

a、表鎖(開銷最小的鎖策略)

b、行鎖(開銷最大的鎖策略)

表鎖的開銷最小,因為使用鎖的個數最小(每個表只有乙個鎖)。

行鎖的開銷最大,因為可能使用鎖的個數比較多,也是支援最大併發處理。

事務處理:整個過程每乙個單元全部完成才算事務處理成功,某乙個單元失敗事務就會回滾.

主要作用:保證資料庫的完整性

事務的特性:原子性、一致性、隔離性、永續性

例子:比如使用者提現200,首先第一步要餘額減去200,第二步要新增一條提現記錄。

兩個步驟必須保證都完成。當作乙個整體來看待。

如果乙個沒完成,就會回滾到原來沒操作的狀態。

外來鍵:保證資料一致性的策略。關聯表使用的。

索引:是對資料表中一列或多列的值進行排序的一種結構。加快資料搜尋的。

特點:

1、使用最多的:myisam,innodb

2、myisam:適用於事務的處理不多的情況;

3、innodb:適用於事務處理比較多,需要有外來鍵支援的情況;

4、memery 儲存在記憶體當中,儲存資料量完全由記憶體決定

//兩種常用儲存引擎的比較

myisam : 儲存限制可達256tb,支援索引、表級鎖定、資料壓縮

innodb : 儲存限制為64tb,支援事務和索引,鎖顆粒為行鎖

設定表的儲存引擎:

這裡只介紹實用的兩種:

(1)通過修改mysql配置檔案實現

default-storage-engine = engine

(3)通過修改資料表命令實現

alter table table_name engine [=] engine_name;

例如:alter table tp1 engine = innodb;

總結:

常用的儲存引擎是myisam 和 innodb,根據業務的需要。

一般用innodb 多,因為很多功能都需要有事務的操作。

mysql的儲存引擎有 mysql儲存引擎有哪些?

儲存引擎是資料庫管理系統用來從資料庫建立 讀取和更新資料的軟體模組。mysql中有兩種型別的儲存引擎 事務型和非事務型。對於mysql 5.5及更高版本,預設的儲存引擎是innodb。在5.5版本之前,mysql的預設儲存引擎是myisam。那麼mysql儲存引擎有哪些?一 innodb 這是mys...

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

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

mysql個儲存引擎 MySQL儲存引擎

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