mysql 儲存引擎

2021-09-28 19:57:25 字數 1539 閱讀 6092

mysql元件:

1、連線池:用於分配給使用者連線資料庫

2、sql介面:將sql語句傳遞給mysl服務

3、管理單元:mysql自己提供的管理命令

4、分析器:用於分析語法以及確認使用者許可權

5、優化器:對sql進行優化,從而節省資源

6、儲存引擎:不同的儲存引擎提供不同的功能以及不同的儲存方式

7、檔案系統:mysql物理儲存

檢視儲存引擎資訊:(不同的mysql版本,預設的儲存引擎可能不同)

mysql> show engines; #檢視當前資料庫支援的儲存引擎

mysql> show variables like "%verison%" #檢視mysql版本

mysql> show create table a; #檢視表a的建立資訊,包括儲存引擎

配置儲存引擎:

1、修改伺服器儲存引擎:

mysql> set default_storage_engine=myisam; #通過命令列修改,臨時有效

vim /etc/my.cnf #修改配置檔案,永久有效

[mysqld]

...default_storage_engine=myisam #修改儲存引擎為myisam,預設是的innodb

2、建立表時指定表的儲存引擎:

create table db1.table1(

id int,

name char(10)

) engine = innodb; #指定db1下的table1表的儲存引擎為innodb

3、修改表的儲存引擎:

alter table db1.table1 engine = myisam

目前常用儲存引擎myisam和innodb的比較:

myisam:

支援表級鎖,不支援事務,不支援外來鍵

表檔案:

.frm表結構

.myi索引

.myd資料

innodb:

支援行級鎖,支援事務,支援外來鍵

表檔案:

.frm表結構

.ibd資料

事務日誌:

ibdata,ib_logfile

mysql鎖機制:

粒度:

表級鎖:對整個表進行加鎖

行級鎖:僅對訪問的行進行加鎖

型別: 讀鎖(共享鎖):支援讀併發,可以多個執行緒讀,在讀的同時不能寫

寫鎖(互斥鎖):上鎖期間其他執行緒不能讀寫

檢視當前鎖狀態:

show status like "%table_lock%"

事務特性:

a-原子性:乙個操作的整體,要麼全部成功,要麼全部失敗

c-一致性:事務之前所有使用者看到的資料是一致的,事務之後所有使用者看到的資料也是一致的

i-隔離性:事務的操作是相互隔離、互不影響的

d-永續性:一旦事務提交,永久改變表中資料

寫總結的第四十五天!!!

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

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

mysql個儲存引擎 MySQL儲存引擎

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

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

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