电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

MySQL Select語句是如何執行的

瀏覽:14日期:2023-10-09 16:51:48

MySQL Select語句是怎么執行的?

最近在極客時間看丁奇大佬的《MySQL45講》,真心覺得講的不錯,把其中獲得的一些MySQL方向的經驗整理整理分享給大家,有興趣同學可以購買相關課程進行學習。

今天分享的內容是select和update的執行流程。

select的執行過程

話不多說,來個神圖鎮樓(自己畫的)。

MySQL Select語句是如何執行的

首先,我們可以看到,整個select語句包含三個模塊,其中客戶端和MySQL兩個部分,MySQL又包含server端和存儲引擎側,server端包含連接器、查詢緩存、分析器、優化器,執行器等多個部分,存儲引擎側同樣包含innodb、Myisam,memory等多種存儲引擎。

每個模塊的作用如下:

連接器:

連接器的任務是跟客戶端建立連接,查詢權限,維持和管理連接等等。當我們使用命令行登錄時,如果密碼或者賬號錯誤,那么連接器會返回給我們Access Deny的報錯,利用正確的賬號密碼登錄到MySQL之后,連接器會查詢當前賬號的登錄權限,之后的所有操作,都是依賴這個權限進行的。

注意,如果此時我們更改了該賬號的權限,并不會對已經存在的連接產生影響,而只對新加入的連接產生影響。

如果客戶端連接進入MySQL后,一直沒有進行任何操作,那么連接器將會在wait_timeout參數設置的時間后,將該連接斷開。建議在程序中使用長連接,這樣可以減小和客戶端和MySQL建立連接的帶來的性能損耗。

查詢緩存:

當客戶端輸入一個SQL之后,如果命中查詢緩存,那么MySQL將會直接返回結果,而不進行下面的一系列分析操作,如果沒有命中,則開始進入分析器---優化器---執行器這個流程。關于查詢緩存,還有2點需要注意:

a、MySQL8.0中開始棄用查詢緩存,因為查詢緩存的命中率一般較低,弊大于利。

b、在高并發場景中,建議將查詢緩存關閉,關閉時使用query_cache_type=off或者query_cache_size=0。

c、如果非要使用這個功能,可以將參數query_cache_type設置成DEMAND,這樣,就可以使用select sql_cache * from table這種方式強制使用查詢緩存的功能了。

分析器:

如果我們的查詢沒有真正命中查詢緩存,那么就要進入分析器這個環節了,分析器的主要功能是詞法分析和語法分析,其中:

詞法分析指的是根據SQL分析出來select、update、alter、列名、表名、庫名等;

語法分析是指需要分析你寫的SQL是否滿足MySQL的語法。如果不滿足,則會給出you have an error xxx的提示。

優化器:

優化器的作用是選出SQL執行的最佳路徑,例如在多表join的時候,優化器會選擇最高效的方案來執行連接查詢。這里可以給出一個例子,例如我們建立了(a,b)的聯合索引,

select * from table where a=1 and b=1;

select * from table where b=1 and a=1;

這兩條SQL是等價的,因為優化器會將下面的改造成上面的樣子,從而應用聯合索引進行搜索查詢。

執行器:

SQL經過優化器之后,就會進入執行器,執行SQL前,需要校驗表的權限,如果有權限,會根據表的存儲引擎定義,去使用這個存儲引擎提供的接口,最終將數據返回給客戶端,并開始等待新的連接。

這里需要注意一點:執行器調用一次,在引擎內部則掃描了多行,因此存儲引擎掃描行數跟rows_examined并不是完全相同的。

Q && A

Q1:為什么對權限的檢查不在優化器之前做?

A1:有些時候,SQL語句要操作的表不只是SQL字面上那些。比如如果有個觸發器,得在執行器階段(過程中)才能確定。優化器階段前是無能為力的

Q2:MySQL權限到底在哪里驗證?

A2:賬號的登錄權限在連接器模塊驗證;表的操作權限分為兩種情況,如果命中查詢緩存,會在查詢緩存放回結果的時候驗證,在優化器之前,如果沒有命中索引,則權限驗證在執行器模塊驗證。

以上就是MySQL Select語句是如何執行的的詳細內容,更多關于MySQL Select語句的資料請關注好吧啦網其它相關文章!

標簽: MySQL 數據庫
相關文章:
主站蜘蛛池模板: 团建-拓展-拓展培训-拓展训练-户外拓展训练基地[无锡劲途] | 塑料造粒机「厂家直销」-莱州鑫瑞迪机械有限公司 | 挤出机_橡胶挤出机_塑料挤出机_胶片冷却机-河北伟源橡塑设备有限公司 | 自清洗过滤器_全自动过滤器_全自动反冲洗过滤器_量子过滤器-滑漮滴 | 福兰德PVC地板|PVC塑胶地板|PVC运动地板|PVC商用地板-中国弹性地板系统专业解决方案领先供应商! 福建成考网-福建成人高考网 | 2025福建平潭岛旅游攻略|蓝眼泪,景点,住宿攻略-趣平潭网 | 电脑刺绣_绣花厂家_绣花章仔_织唛厂家-[源欣刺绣]潮牌刺绣打版定制绣花加工厂家 | (中山|佛山|江门)环氧地坪漆,停车场地板漆,车库地板漆,聚氨酯地板漆-中山永旺地坪漆厂家 | 游泳池设计|设备|配件|药品|吸污机-东莞市太平洋康体设施有限公司 | 北京普辉律师事务所官网_北京律师24小时免费咨询|法律咨询 | 全自动端子机|刺破式端子压接机|全自动双头沾锡机|全自动插胶壳端子机-东莞市傅氏兄弟机械设备有限公司 | 万家财经_财经新闻_在线财经资讯网| 细石混凝土泵_厂家_价格-烟台九达机械有限公司 | 污水处理设备维修_污水处理工程改造_机械格栅_过滤设备_气浮设备_刮吸泥机_污泥浓缩罐_污水处理设备_污水处理工程-北京龙泉新禹科技有限公司 | 特材真空腔体_哈氏合金/镍基合金/纯镍腔体-无锡国德机械制造有限公司 | 医用酒精_84消毒液_碘伏消毒液等医用消毒液-漓峰消毒官网 | 协议书_协议合同格式模板范本大全 | 济南电缆桥架|山东桥架-济南航丰实业有限公司 | 福建珂朗雅装饰材料有限公司「官方网站」| ptc_浴霸_大巴_干衣机_呼吸机_毛巾架_电动车加热器-上海帕克 | 郑州宣传片拍摄-TVC广告片拍摄-微电影短视频制作-河南优柿文化传媒有限公司 | 高效复合碳源-多核碳源生产厂家-污水处理反硝化菌种一长隆科技库巴鲁 | 翻斗式矿车|固定式矿车|曲轨侧卸式矿车|梭式矿车|矿车配件-山东卓力矿车生产厂家 | 骁龙云呼电销防封号系统-axb电销平台-外呼稳定『免费试用』 | 亮化工程,亮化设计,城市亮化工程,亮化资质合作,长沙亮化照明,杰奥思【官网】 | 超声波气象站_防爆气象站_空气质量监测站_负氧离子检测仪-风途物联网 | 不锈钢反应釜,不锈钢反应釜厂家-价格-威海鑫泰化工机械有限公司 不干胶标签-不干胶贴纸-不干胶标签定制-不干胶标签印刷厂-弗雷曼纸业(苏州)有限公司 | 全自动变压器变比组别测试仪-手持式直流电阻测试仪-上海来扬电气 | 深圳市超时尚职业培训学校,培训:月嫂,育婴,养老,家政;化妆,美容,美发,美甲. | 行星搅拌机,双行星搅拌机,动力混合机,无锡米克斯行星搅拌机生产厂家 | 成都治疗尖锐湿疣比较好的医院-成都治疗尖锐湿疣那家医院好-成都西南皮肤病医院 | 无线遥控更衣吊篮_IC卡更衣吊篮_电动更衣吊篮配件_煤矿更衣吊篮-力得电子 | 钛合金标准件-钛合金螺丝-钛管件-钛合金棒-钛合金板-钛合金锻件-宝鸡远航钛业有限公司 | 济南画室培训-美术高考培训-山东艺霖艺术培训画室 | 多功能三相相位伏安表-变压器短路阻抗测试仪-上海妙定电气 | 机床导轨_导轨板_滚轮导轨-上海旻佑精密机械有限公司 | 艾默生变频器,艾默生ct,变频器,ct驱动器,广州艾默生变频器,供水专用变频器,风机变频器,电梯变频器,艾默生变频器代理-广州市盟雄贸易有限公司官方网站-艾默生变频器应用解决方案服务商 | 消防设施操作员考试报名时间,报名入口,报考条件 | 消泡剂-水处理消泡剂-涂料消泡剂-切削液消泡剂价格-东莞德丰消泡剂厂家 | 冷凝水循环试验箱-冷凝水试验箱-可编程高低温试验箱厂家-上海巨为(www.juweigroup.com) | 精密模具加工制造 - 富东懿 |