欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Mysql詳細(xì)剖析數(shù)據(jù)庫(kù)中的存儲(chǔ)引擎

 更新時(shí)間:2023年03月27日 15:38:07   作者:博客小夢(mèng)  
這篇文章詳細(xì)剖析了數(shù)據(jù)庫(kù)中的存儲(chǔ)引擎,存儲(chǔ)引擎是數(shù)據(jù)庫(kù)中非常關(guān)鍵的部分,有感興趣的小伙伴可以參考閱讀本文

前言??

 哈嘍各位友友們??,我今天又學(xué)到了很多有趣的知識(shí),現(xiàn)在迫不及待的想和大家分享一下!??我僅已此文,和大家分享【Mysql系列】——詳細(xì)剖析數(shù)據(jù)庫(kù)中的存儲(chǔ)引擎~都是精華內(nèi)容,可不要錯(cuò)過(guò)喲!?。??????

存儲(chǔ)引擎

什么是存儲(chǔ)引擎?

存儲(chǔ)引擎是數(shù)據(jù)庫(kù)中非常關(guān)鍵的部分,它就像是飛機(jī)、火箭中的引擎那樣。我們能不能把飛機(jī)上的存儲(chǔ)引擎發(fā)到火箭上去呢? 顯然是不可能的,因?yàn)橐娴氖褂檬且词褂玫膱?chǎng)景的。而在Mysql中,存儲(chǔ)引擎也是一樣的,其沒(méi)有好壞之分。我們需要在合適的場(chǎng)景下使用合適的存儲(chǔ)引擎才是我們需要做到位的。存儲(chǔ)引擎就是存儲(chǔ)數(shù)據(jù)、建立索引、更新/查詢數(shù)據(jù)等技術(shù)的實(shí)現(xiàn)方式。存儲(chǔ)引擎是基于表的,而不是基于庫(kù)的,所以存儲(chǔ)引擎也可以被稱為表類型。

Mysql的體系結(jié)構(gòu):

Mysql的體系結(jié)構(gòu)分為四層:

MYsql的體系結(jié)構(gòu)如下圖所示:

連接層

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

服務(wù)層

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

引擎層

存儲(chǔ)引警真正的負(fù)責(zé)了MvSOL中數(shù)據(jù)的存儲(chǔ)和提取,服務(wù)器通過(guò)API和存儲(chǔ)引警進(jìn)行通信。不同的存儲(chǔ)引擎具有不同的功能,這樣我們可以根據(jù)自己的需要,來(lái)選取合適的存儲(chǔ)引擎。

存儲(chǔ)層

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

存儲(chǔ)引擎的查看

存儲(chǔ)引擎是有很多的,在MYsql 5.5 之后,默認(rèn)的存儲(chǔ)引擎是InnoDB 存儲(chǔ)引擎。之前默認(rèn)的是Memory 存儲(chǔ)引擎。

show engines;

create table Course(
    Con int primary key auto_increment,
    Cname varchar(10),
    Cpon int,
    Ccredit int
)

show create table course;

存儲(chǔ)引擎的指定

例如,我們可以在創(chuàng)建表的同時(shí),指定此表的存儲(chǔ)引擎類型。

create table test_mysql(
    name varchar(10),
    age int
) engine = Memory;

存儲(chǔ)引擎的特點(diǎn)

這里重點(diǎn)介紹以下 InnoDB

InnoDB介紹

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

InnoDB特點(diǎn)

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

 InnoDB文件

  • xxx.ibd:xxx代表的是表名,innoDB引擎的每張表都會(huì)對(duì)應(yīng)這樣一個(gè)表空間文件,存儲(chǔ)該表的表結(jié)構(gòu)(frm、sdi)、數(shù)據(jù)和索引。
  • 參數(shù):innodb file per table

 最后用一張圖,來(lái)展示一下InnoDB 的邏輯存儲(chǔ)結(jié)構(gòu)。

總結(jié):InnoDB 是支持事務(wù)的,而MyISAM不支持;InnoDB 是支持行鎖的,而MyISAM不支持,支持表鎖;InnoDB 是支持外鍵的,而MyISAM不支持;

存儲(chǔ)引擎的選擇

總結(jié)撒花??

本篇文章旨在分享【Mysql系列】——詳細(xì)剖析數(shù)據(jù)庫(kù)中的存儲(chǔ)引擎。希望大家通過(guò)閱讀此文有所收獲!??

 以上就是Mysql詳細(xì)剖析數(shù)據(jù)庫(kù)中的存儲(chǔ)引擎的詳細(xì)內(nèi)容,更多關(guān)于剖析數(shù)據(jù)庫(kù)的存儲(chǔ)引擎的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • MySQL千萬(wàn)數(shù)據(jù)量深分頁(yè)優(yōu)化流程(拒絕線上故障)

    MySQL千萬(wàn)數(shù)據(jù)量深分頁(yè)優(yōu)化流程(拒絕線上故障)

    這篇文章主要為大家介紹了MySQL千萬(wàn)數(shù)據(jù)量深分頁(yè)優(yōu)化拒絕線上故障,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • MySQL表操作插入數(shù)據(jù)insert語(yǔ)句學(xué)習(xí)(小白入門篇)

    MySQL表操作插入數(shù)據(jù)insert語(yǔ)句學(xué)習(xí)(小白入門篇)

    這篇文章主要為大家介紹了MySQL表操作插入數(shù)據(jù)insert語(yǔ)句學(xué)習(xí)小白入門篇,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • 解析MySQL設(shè)置當(dāng)前時(shí)間為默認(rèn)值的方法

    解析MySQL設(shè)置當(dāng)前時(shí)間為默認(rèn)值的方法

    本篇文章是對(duì)MySQL設(shè)置當(dāng)前時(shí)間為默認(rèn)值的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • MySQL在不知道列名情況下的注入詳解

    MySQL在不知道列名情況下的注入詳解

    這篇文章主要給大家介紹了關(guān)于MySQL在不知道列名情況下的注入的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用mysql具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • MySQL產(chǎn)生隨機(jī)數(shù)并連接字符串的方法示例

    MySQL產(chǎn)生隨機(jī)數(shù)并連接字符串的方法示例

    這篇文章主要介紹了MySQL產(chǎn)生隨機(jī)數(shù)并連接字符串的方法,簡(jiǎn)單分析了相關(guān)函數(shù),并結(jié)合實(shí)例形式給出了相應(yīng)的SQL語(yǔ)句實(shí)現(xiàn)方法,需要的朋友可以參考下
    2017-05-05
  • 淺談mysql導(dǎo)出表數(shù)據(jù)到excel關(guān)于datetime的格式問(wèn)題

    淺談mysql導(dǎo)出表數(shù)據(jù)到excel關(guān)于datetime的格式問(wèn)題

    這篇文章主要介紹了淺談mysql導(dǎo)出表數(shù)據(jù)到excel關(guān)于datetime的格式問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-07-07
  • MySQL將多條數(shù)據(jù)合并成一條的完整示例

    MySQL將多條數(shù)據(jù)合并成一條的完整示例

    我們?cè)谑褂胢ysql的時(shí)候常會(huì)遇到合并的需求,下面這篇文章主要給大家介紹了關(guān)于MySQL將多條數(shù)據(jù)合并成一條的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-02-02
  • MySQL創(chuàng)建和刪除表操作命令實(shí)例講解

    MySQL創(chuàng)建和刪除表操作命令實(shí)例講解

    這篇文章主要介紹了MySQL創(chuàng)建和刪除表操作命令實(shí)例講解,本文講解了創(chuàng)建表、創(chuàng)建臨時(shí)表、查看已經(jīng)創(chuàng)建的mysql表等內(nèi)容,需要的朋友可以參考下
    2014-12-12
  • MySQL 分庫(kù)分表實(shí)踐

    MySQL 分庫(kù)分表實(shí)踐

    本文主要介紹了MySQL 分庫(kù)分表實(shí)踐,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-03-03
  • 簡(jiǎn)單了解 MySQL 中相關(guān)的鎖

    簡(jiǎn)單了解 MySQL 中相關(guān)的鎖

    這篇文章主要介紹了簡(jiǎn)單了解 MySQL 中相關(guān)的鎖,重點(diǎn)介紹InnoDB中的鎖相關(guān)知識(shí),包括鎖的概念及分類解析,對(duì)MySQL鎖相關(guān)感興趣的朋友跟隨小編一起看看吧
    2021-05-05

最新評(píng)論