亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

MySQL中的存儲(chǔ)引擎使用解讀

 更新時(shí)間:2025年08月27日 09:26:34   作者:Chicken Run  
文章簡(jiǎn)述MySQL架構(gòu)四層:連接層處理通信,服務(wù)層執(zhí)行SQL及優(yōu)化,引擎層負(fù)責(zé)數(shù)據(jù)存儲(chǔ),存儲(chǔ)層管理底層文件,主要對(duì)比InnoDB(支持事務(wù)、行鎖)、MyISAM(表鎖、讀寫分離)和Memory(內(nèi)存存儲(chǔ)、臨時(shí)表),并給出適用場(chǎng)景選擇建議

一、MySQL 架構(gòu)

連接層:

  • 最上層是一些客戶端和連接服務(wù),主要完成一些類似于連接處理、授權(quán)認(rèn)證、及相關(guān)的安全方案。
  • 服務(wù)器也會(huì)為每個(gè)安全接入的用戶端驗(yàn)證它所具有的操作權(quán)限。

服務(wù)層:        

  • 第二層架構(gòu)主要完成大多數(shù)的核心服務(wù)功能,如SQL接口,并完成緩存的查詢,SQL的分析和優(yōu)化、部分內(nèi)置函數(shù)的執(zhí)行。
  • 所有跨存儲(chǔ)引擎的功能也在這一層實(shí)現(xiàn),如:過程、函數(shù)等。

引擎層:        

  • 存儲(chǔ)引擎真正的負(fù)責(zé)了MySQL中數(shù)據(jù)的存儲(chǔ)和提取,服務(wù)器通過API和存儲(chǔ)引擎進(jìn)行通信。
  • 不同的存儲(chǔ)引擎具備不同的功能,因此我們可根據(jù)自己的需要,選取合適的存儲(chǔ)引擎來使用。

存儲(chǔ)層:

  • 主要是將數(shù)據(jù)存儲(chǔ)在文件系統(tǒng)之上,并完成與存儲(chǔ)引擎的交互。

二、存儲(chǔ)引擎(介紹、操作)

存儲(chǔ)引擎就是存儲(chǔ)數(shù)據(jù)、建立索引、更新 / 查詢數(shù)據(jù)等技術(shù)的實(shí)現(xiàn)方式。

存儲(chǔ)引擎是基于表的,而不是基于庫的,所以存儲(chǔ)引擎也可稱為表類型。(MySQL5.5 之后默認(rèn)的存儲(chǔ)引擎 —— InnoDB

查詢當(dāng)前數(shù)據(jù)庫的存儲(chǔ)引擎

SHOW ENGINES;

?

在創(chuàng)建表時(shí)指定存儲(chǔ)引擎

#語法
-- 建表語句末尾使用ENGINE關(guān)鍵字,指定存儲(chǔ)引擎。
CREATE TABLE 表名(
	字段1 字段1類型 [COMMENT 字段1注釋],
    字段2 字段2類型 [COMMENT 字段2注釋],
    字段3 字段3類型 [COMMENT 字段3注釋],
    ...
    字段n 字段n類型 [COMMENT 字段n注釋]
)ENGINE = INNODB [COMMENT 表注釋];


#演示:
-- 創(chuàng)建表testE、字段有id、name
-- 指定使用MEMORY存儲(chǔ)引擎
CREATE TABLE testE(
id INT,
NAME VARCHAR(15)
)ENGINE = MEMORY;

三、InnoDB、MyISAM、Memory對(duì)比、選擇

1、InnoDB存儲(chǔ)引擎

InnoDB是一種兼顧高可靠性和高性能的通用存儲(chǔ)引擎,在MySQL 5.5 之后,InnoDB作為MySQL的默認(rèn)存儲(chǔ)引擎。

特點(diǎn):

  • DML操作遵循ACID模型,支持事務(wù);
  • 行級(jí)鎖,提高并發(fā)訪問性能;
  • 支持外鍵 FOREIGN KEY 約束,保證數(shù)據(jù)完整性和正確性;

文件:

xxx.idb:xxx為表名,InnoDB引擎的每張表都會(huì)對(duì)應(yīng)這樣一個(gè)表空間文件,來存儲(chǔ)表的表結(jié)構(gòu)(frm文件、sdi文件)、數(shù)據(jù)和索引。

參數(shù):innodb_file_per_table

-- 查看參數(shù)innodb_file_per_table開啟狀態(tài)
SHOW VARIABLES LIKE 'innodb_file_per_table';
-- ON就表示開啟:每張表都會(huì)對(duì)應(yīng)這樣一個(gè)表空間文件

InnoDB邏輯存儲(chǔ)結(jié)構(gòu):

?

2、MyISAM存儲(chǔ)引擎

MyISAM存儲(chǔ)引擎是MySQL早期的默認(rèn)存儲(chǔ)引擎。

特點(diǎn):

  • 不支持事務(wù),不支持外鍵;
  • 支持表鎖,不支持行鎖;
  • 訪問速度快;

文件:

  • xxx.sdi文件:存儲(chǔ)表結(jié)構(gòu)信息
  • xxx.MYD文件:存儲(chǔ)數(shù)據(jù)
  • xxx.MYI文件:存儲(chǔ)索引

3、Memory存儲(chǔ)引擎

Memory存儲(chǔ)引擎的表數(shù)據(jù)存儲(chǔ)在內(nèi)存中,由于受硬件問題、或斷電問題的影響,只能將這些表作為臨時(shí)表或緩存使用。

特點(diǎn):

  • 內(nèi)存存放,存取速度快
  • 支持hash索引(默認(rèn))

文件:

  • xxx.sdi文件:存儲(chǔ)表結(jié)構(gòu)信息

4、對(duì)比與選擇

  • InnoDB:是MySQL的默認(rèn)存儲(chǔ)引擎,支持事務(wù)、外鍵。如果應(yīng)用對(duì)事務(wù)的完整性要求比較高,在并發(fā)條件下要求數(shù)據(jù)的一致性,數(shù)據(jù)操作除插入和查詢之外,還包含很多更新、刪除操作,那么InnoDB存儲(chǔ)引擎是比較合適的選擇。
  • MyISAM:如果應(yīng)用是以讀操作和插入操作為主,只有很少的更新和刪除操作,并且對(duì)事務(wù)的完整性、并發(fā)性要求不高,那么適合選擇MyISAM存儲(chǔ)引擎。
  • Memory:將所有數(shù)據(jù)保存在內(nèi)存中,訪問速度快,通常用于臨時(shí)表及緩存。其缺陷是對(duì)表的大小有限制,太大的表無法緩存到內(nèi)存中,且Memory存儲(chǔ)引擎無法保證數(shù)據(jù)的安全性。

?

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Mysql多層子查詢示例代碼(收藏夾案例)

    Mysql多層子查詢示例代碼(收藏夾案例)

    這篇文章主要介紹了Mysql多層子查詢示例代碼,以收藏夾案例給大家詳細(xì)介紹,代碼簡(jiǎn)單易懂,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-03-03
  • Navicat連接mysql報(bào)錯(cuò)2003(10060)的解決方法

    Navicat連接mysql報(bào)錯(cuò)2003(10060)的解決方法

    本來好好的navicat連接數(shù)據(jù)庫,突然間今天就打不開數(shù)據(jù)庫了,下面這篇文章主要給大家介紹了關(guān)于Navicat連接mysql報(bào)錯(cuò)2003(10060)的解決方法,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-04-04
  • windows下MySQL免安裝版配置教程mysql-5.6.51-winx64.zip版本(最新安裝教程)

    windows下MySQL免安裝版配置教程mysql-5.6.51-winx64.zip版本(最新安裝教程)

    這篇文章主要介紹了windows下MySQL免安裝版配置教程mysql-5.6.51-winx64.zip版本(最新安裝教程),本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-01-01
  • MySQL配置文件my.cnf中文詳解附mysql性能優(yōu)化方法分享

    MySQL配置文件my.cnf中文詳解附mysql性能優(yōu)化方法分享

    Mysql參數(shù)優(yōu)化對(duì)于新手來講,是比較難懂的東西,其實(shí)這個(gè)參數(shù)優(yōu)化,是個(gè)很復(fù)雜的東西,對(duì)于不同的網(wǎng)站,及其在線量,訪問量,帖子數(shù)量,網(wǎng)絡(luò)情況,以及機(jī)器硬件配置都有關(guān)系,優(yōu)化不可能一次性完成,需要不斷的觀察以及調(diào)試,才有可能得到最佳效果。
    2011-09-09
  • MySQL如何改變表的存儲(chǔ)引擎方式

    MySQL如何改變表的存儲(chǔ)引擎方式

    這篇文章主要介紹了MySQL如何改變表的存儲(chǔ)引擎方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • Mysql用戶權(quán)限分配實(shí)戰(zhàn)項(xiàng)目詳解

    Mysql用戶權(quán)限分配實(shí)戰(zhàn)項(xiàng)目詳解

    用戶是數(shù)據(jù)庫的使用者和管理者,MySQL通過用戶的設(shè)置來控制數(shù)據(jù)庫操作人員的訪問與操作范圍,這篇文章主要給大家介紹了關(guān)于Mysql用戶權(quán)限分配實(shí)戰(zhàn)項(xiàng)目的相關(guān)資料,需要的朋友可以參考下
    2023-12-12
  • MySQL遷移KingbaseESV8R2的實(shí)現(xiàn)步驟

    MySQL遷移KingbaseESV8R2的實(shí)現(xiàn)步驟

    本文主要介紹了MySQL遷移KingbaseESV8R2的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • MySQL?Community?Server?8.0.29安裝配置方法圖文教程

    MySQL?Community?Server?8.0.29安裝配置方法圖文教程

    這篇文章主要為大家詳細(xì)介紹了MySQL?Community?Server?8.0.29安裝配置方法圖文教程,文中安裝步驟介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • MySQL動(dòng)態(tài)創(chuàng)建表,數(shù)據(jù)分表的存儲(chǔ)過程

    MySQL動(dòng)態(tài)創(chuàng)建表,數(shù)據(jù)分表的存儲(chǔ)過程

    MySQL動(dòng)態(tài)創(chuàng)建表,數(shù)據(jù)分表的存儲(chǔ)過程,需要的朋友可以參考下。
    2011-08-08
  • MySql 8.0及對(duì)應(yīng)驅(qū)動(dòng)包匹配的注意點(diǎn)說明

    MySql 8.0及對(duì)應(yīng)驅(qū)動(dòng)包匹配的注意點(diǎn)說明

    這篇文章主要介紹了MySql 8.0及對(duì)應(yīng)驅(qū)動(dòng)包匹配的注意點(diǎn)說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06

最新評(píng)論