成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

圖解MySQL執(zhí)行一條SQL的過(guò)程

數(shù)據(jù)庫(kù) MySQL
更新SQL在MySQL中的執(zhí)行過(guò)程,因?yàn)檫^(guò)程涉及到不同情況的分支流程,我用一張活動(dòng)圖把整個(gè)過(guò)程串了起來(lái),方便大家理解。

新開(kāi)一個(gè)系列,嘗試把一些常見(jiàn)的面試題做成速記圖,用來(lái)面試前臨時(shí)抱佛腳。

最近我這個(gè)中年老登也在面試,形式所迫也是沒(méi)辦法。面試中除了問(wèn)項(xiàng)目經(jīng)驗(yàn)和管理經(jīng)驗(yàn)外還經(jīng)常會(huì)被問(wèn)一些“八股”,說(shuō)來(lái)慚愧,已經(jīng)快六年沒(méi)面過(guò)試了,很多以前倒背如流的東西,現(xiàn)在也很難想起來(lái)。

這情況就跟高中生高考完以為大學(xué)穩(wěn)了,瘋玩一暑假后發(fā)現(xiàn)自己沒(méi)錄取上要復(fù)讀的感受差不多。

廢話不多說(shuō),今天速記指南是:MySQL執(zhí)行一條SQL語(yǔ)句的過(guò)程,這個(gè)相信大部分人準(zhǔn)備面試的時(shí)候都背過(guò),可以再來(lái)一起邊聽(tīng)歌邊快速瀏覽復(fù)習(xí)一下。

MySQL的基礎(chǔ)架構(gòu)

想知道SQL語(yǔ)句在MySQL中的執(zhí)行過(guò)程,得先了解一下MySQL的基礎(chǔ)架構(gòu),它的架構(gòu)細(xì)節(jié)看下面這張圖。

圖片圖片

MySQL 的架構(gòu)分為:Server 層和 存儲(chǔ)引擎層,他們各自的構(gòu)成為 :

Server層:

  • 連接器
  • 查詢緩存
  • 分析器
  • 優(yōu)化器
  • 執(zhí)行器

存儲(chǔ)引擎層:

  • 各個(gè)存儲(chǔ)引擎,實(shí)現(xiàn)存儲(chǔ)引擎層定義的統(tǒng)一接口,為Server層提供統(tǒng)一的調(diào)用方式。
  • 常見(jiàn)的存儲(chǔ)引擎如上圖。

這么多組件,每個(gè)都有它們單獨(dú)的作用,我把他們都整理到了下面這張圖里。

圖片圖片

Server層:

  • 連接器:驗(yàn)證身份,管理連接
  • 查詢緩存:暫存結(jié)果集,再次查詢直接返回,v8.0 后不再使用查詢緩存
  • 分析器:

詞法分析,讓MySQL知道要干什么 SELECT,還是UPDATE

語(yǔ)法分析,檢查SQL語(yǔ)法錯(cuò)誤

  • 優(yōu)化器:決定要用索引,連表查詢決定關(guān)聯(lián)順序
  • 執(zhí)行器:確定對(duì)表有操作權(quán)限,調(diào)用表使用的存儲(chǔ)引擎獲取結(jié)構(gòu)

MySQL基礎(chǔ)架構(gòu)有了初步了解后,我們來(lái)看SQL的執(zhí)行過(guò)程,先來(lái)看查詢SQL在MySQL中的執(zhí)行過(guò)程

執(zhí)行查詢SQL的過(guò)程

一條查詢SQL在MySQL中的執(zhí)行過(guò)程,我都整理到下面這張圖了

圖片圖片

  • 客戶端:發(fā)起查詢,SELECT * FROM T1 WHERE id = 10
  • 連接器:

驗(yàn)證用戶: mysql -h port

驗(yàn)證失敗: Access denied for user

驗(yàn)證成功: 查出用戶的權(quán)限繼續(xù)執(zhí)行

  • 連接完成: 處于 idle, show processlist 可查
  • 查詢緩存:命中率很低,v8.0 后被取消
  • 分析器:
  • 詞法分析: select -> 操作類型 T1 - 操作的表
  • 語(yǔ)法分析: 檢查語(yǔ)法錯(cuò)誤,出現(xiàn)錯(cuò)誤: ERROR 1064 (42000): You have an error in your SQL syntax
  • 優(yōu)化器:決定怎么查,使用哪個(gè)索引,多表join時(shí), join的先后順序
  • 執(zhí)行器:
  • 確認(rèn)有執(zhí)行權(quán)限后 查看 T1 的存儲(chǔ)引擎
  • 遍歷調(diào)用引擎接口 “滿足條件的下一行”,確定結(jié)果id = 10 后返回, 如果查詢無(wú)索引,遍歷調(diào)用引擎接口“下一行"確認(rèn)結(jié)果id=10后返回。

執(zhí)行更新SQL的過(guò)程

接下來(lái)是更新SQL在MySQL中的執(zhí)行過(guò)程,因?yàn)檫^(guò)程涉及到不同情況的分支流程,我用一張活動(dòng)圖把整個(gè)過(guò)程串了起來(lái),方便大家理解。

圖片圖片

關(guān)于redolog、binlog在圖中做了注釋,大家準(zhǔn)備面試時(shí)不要忽略這部分。

責(zé)任編輯:武曉燕 來(lái)源: 網(wǎng)管叨bi叨
相關(guān)推薦

2023-11-01 16:50:58

2024-12-17 06:20:00

MySQLSQL語(yǔ)句數(shù)據(jù)庫(kù)

2021-08-03 08:41:18

SQLMysql面試

2023-03-26 22:42:02

SQL關(guān)聯(lián)索引

2022-02-11 14:43:53

SQL語(yǔ)句C/S架構(gòu)

2023-11-04 16:23:37

sql優(yōu)化臨時(shí)表

2022-05-31 13:58:09

MySQL查詢語(yǔ)句

2021-06-07 08:37:03

SQL 查詢語(yǔ)句

2025-05-20 00:00:00

2020-07-03 07:39:45

查詢語(yǔ)句

2025-05-12 08:27:25

2025-01-09 10:49:05

2021-04-16 07:04:53

SQLOracle故障

2023-06-18 23:13:27

MySQL服務(wù)器客戶端

2020-07-01 09:07:52

SQL索引語(yǔ)句

2020-05-26 09:08:23

命令循環(huán)Linux

2011-05-12 14:43:57

MYSQL

2020-04-17 14:16:10

SQL數(shù)據(jù)庫(kù)HTTP

2023-10-10 10:23:50

JavaScriptV8

2024-06-12 13:36:24

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 欧美aaaaa | 国产成人精品免费视频大全最热 | 久久大陆 | 成人网在线 | 性福视频在线观看 | 久久久精| 日韩欧美亚洲 | 麻豆91精品91久久久 | 亚洲视频一区二区三区 | 亚洲欧美中文日韩在线v日本 | 亚洲国产精品福利 | 激情欧美一区二区三区中文字幕 | 欧美一区2区三区4区公司二百 | 国产一区免费 | 日韩综合网 | 蜜桃av鲁一鲁一鲁一鲁 | 欧美性受xxxx白人性爽 | 精品日韩一区二区 | 99久久婷婷国产综合精品电影 | 成人在线激情 | 美女久久久 | 亚洲午夜精品视频 | 国产黄色大片 | 亚洲理论在线观看电影 | 成人av在线播放 | 欧美日韩福利视频 | 激情91| 亚洲最色网站 | 亚洲女人的天堂 | a级在线观看 | 九九综合 | 欧美精品福利 | 一本一道久久a久久精品蜜桃 | 色一阁| 欧美片网站免费 | 中文字幕 在线观看 | 视频1区2区 | 久草a√| 国色天香成人网 | 久久精品亚洲 | 久久国产精品色av免费观看 |