亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

MySQL運(yùn)行機(jī)制

 

  • 建立連接(Connector & Connection Pool)
    • 通過客戶端/服務(wù)器通信協(xié)議與MySQL建立連接,MySQL客戶端與服務(wù)端的通信方式是”半雙工“。
      • "單工"(simplex):單工通信只支持信號在一個方向上傳輸(正向或反向),任何時候不能改變信號的傳輸方向。為保證正確傳送數(shù)據(jù)信號,接收端要對接收的數(shù)據(jù)進(jìn)行校驗(yàn),若校驗(yàn)出錯,則通過監(jiān)控信道發(fā)送請求重發(fā)的信號。
      • "半雙工"(half-duplex):半雙工通信允許信號在兩個方向上傳輸,但某一時刻只允許信號在一個信道上單向傳輸。 因此,半雙工通信實(shí)際上是一種可切換方向的單工通信。
      • "全雙工"(full-duplex):全雙工通信允許數(shù)據(jù)同時在兩個方向上傳輸,即有兩個信道,因此允許同時進(jìn)行雙向傳輸。 全雙工通信是兩個單工通信方式的結(jié)合,要求收發(fā)雙方都有獨(dú)立的接收和發(fā)送能力。
    •  
MySQL運(yùn)行機(jī)制

 

      • Id:線程ID
      • User:執(zhí)行當(dāng)前線程的用戶
      • Host:發(fā)送請求的客戶端IP和端口號
      • db:執(zhí)行當(dāng)前線程的數(shù)據(jù)庫
      • Command:該線程正在執(zhí)行的操作命令
        • Create DB:正在創(chuàng)建庫操作
        • Drop DB:正在刪除庫操作
        • Execute:正在執(zhí)行一個PreparedSTatement
        • Close Stmt:正在關(guān)閉一個PreparedStatement
        • Query:正在執(zhí)行一個語句
        • Daemon:置后臺
      • Time:該線程處于當(dāng)前狀態(tài)的時間,單位s
      • State:線程狀態(tài)
        • Updating:正在搜索匹配結(jié)果,進(jìn)行修改
        • Sleeping:正在等待客戶端發(fā)送新請求
        • Starting:正在執(zhí)行請求處理
        • Checking table:正在檢查數(shù)據(jù)表
        • Closing table:正在將表中數(shù)據(jù)刷新到磁盤中
        • Locked:被其他查詢lock
        • Sending Data:正在處理select查詢,同時將結(jié)果發(fā)送給客戶端
      • Info:記錄線程執(zhí)行的語句,默認(rèn)顯示前100個字符。show full processlist,查看完成的Info信息
  • 查詢緩存(Cache & Buffer)
    • 查看查詢緩存是否啟動、空間大小、限制等
MySQL運(yùn)行機(jī)制

 

    • 查看更詳細(xì)的緩存參數(shù),可用緩存空間、緩存塊、緩存占用大小等
MySQL運(yùn)行機(jī)制

 

    • 開啟緩存緩存也不會生效的相關(guān)命令
      • 查詢語句使用SQL_NO_CACHE
      • 查詢結(jié)果大于query_cache_limit設(shè)置
      • 查詢中有不確定的參數(shù),比如now()
  • 解析器(Parser)
    • 將客戶端發(fā)送的SQL進(jìn)行語句解析,生成"解析數(shù)"。預(yù)處理器根據(jù)MySQL規(guī)則檢查"解析數(shù)"是否合法,最后生成新的"解析數(shù)"
  • 查詢優(yōu)化器(Optimizer)
    • 根據(jù)"解析數(shù)"生成最優(yōu)的執(zhí)行計劃。優(yōu)化策略:靜態(tài)優(yōu)化(編譯時優(yōu)化)、動態(tài)優(yōu)化(運(yùn)行時優(yōu)化)。
      • 等價變換策略:基于無效查詢(1=1)、變量查詢(a < b and a = 5)、聯(lián)合索引等的優(yōu)化
      • 優(yōu)化count、min、max等函數(shù)
        • InnoDB引擎min函數(shù)只需要找索引最左邊的數(shù)據(jù)
        • InnoDB引擎man函數(shù)只需要找索引最右邊的數(shù)據(jù)
        • MyISAM引擎count(*)直接返回
      • 提前終止查詢:使用limit查詢,獲取limit所需的數(shù)據(jù)之后,停止遍歷后面的數(shù)據(jù)
      • in的優(yōu)化:對in查詢,會先對in中的數(shù)據(jù)進(jìn)行排序,然后再采用二分法查詢數(shù)據(jù)。
  • 查詢執(zhí)行引擎
    • 負(fù)責(zé)執(zhí)行SQL語句,會根據(jù)表中的存儲引擎類型,以及對應(yīng)的API接口與底層存儲引擎緩存/物理文件交互,得到結(jié)果并返回客戶端。
    • 若開啟查詢緩存,會將SQL語句和結(jié)果完整的保存在查詢緩存(Cache & Buffer)中,若再次查詢則直接返回結(jié)果。
    • 如果需要返回的結(jié)果過多,則采用增量模式返回。

分享到:
標(biāo)簽:MySQL
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定