当前位置: 首页 > news >正文

一条sql查询语句在mysql中的执行过程是什么

mysql的连接器

        我们想要在mysql中执行一条sql查询语句,首先需要连接到mysql服务,那么客户端首先要向mysql服务端发起连接请求,我们可以在客户端用mysql -h [ip] -P [port] -u 用户名 -p 密码  命令向服务端发起连接请求,这个连接请求会先到达mysql的连接器,连接器负责校验我们的用户登录身份,连接器会去mysql的用户权限表查询用户信息进行身份校验,身份校验如果不通过,mysql会向客户端返回错误信息,并且拒绝这次连接;身份验证如果通过了,那么mysql会去创建一个客户端和服务端之间的连接,连接有长连接和短连接,它们适用的场景不同,长连接在建立以后需要长时间保持连接状态,在长时间内的多次sql操作都在这同一个连接上进行,虽然省去了连接创建和销毁的开销,但是它在服务端长时间保存会造成服务端内存开销,如果我们的系统是高并发的,那么会导致很多长连接占用服务端的内存,所以长连接只适用于一次连接之后需要长时间频繁进行数据库访问的非高并发系统;而如果我们的系统要面对高并发访问,那么应该用短连接,短连接是一次连接之后,执行一次sql或者短时间内的有限的几次sql查询之后就将连接关闭的连接形式,它适用于高并发的业务场景。连接器在为客户端创建了连接之后,查询就进入了下一步:mysql的查询缓存。

mysql的查询缓存
        执行查询的时候,mysql会先去查询缓存中查询,mysql用查询缓存缓存了之前执行过的查询结果,查询结果在缓存中用key-value键值对的格式进行存储,key是查询sql语句,value是它对应的查询结果;如果本次查询命中了缓存,那么就直接返回缓存中的结果,避免了真正的数据库查询,提高了查询效率;如果没有命中缓存,那么进入下一步:mysql分析器

mysql分析器
        mysql分析器包括词法分析器和语法分析器,分别对我们的sql语句进行词法分析和语法分析。词法分析器会先将sql语句进行分词,我们的sql语句是由多个字符串和空格组成的,词法分析器会以空格作为分隔符将sql进行分词,得到分词结果集后便知道了这条sql要实现的操作意义了,然后再用语法分析器对sql进行语法分析,如果这个sql不符合sql语法规则,则向客户端返回you have an error in your sql syntax这个错误信息,并拒绝本次查询;如果这个sql符合语法规则,则进入下一步:mysql优化器

mysql优化器
        mysql优化器的作用是根据我们的sql语句制定执行方案,制定一个能让这个sql实现最高的执行效率的执行方案,执行方案制定完毕,进入下一步:mysql执行器

mysql执行器
        mysql执行器的作用是去执行sql语句,它会打开我们的sql所要访问的表,然后调用这张表的引擎所提供的接口去执行sql查询,查询完毕,将结果缓存到查询缓存并返回结果给客户端。

相关文章:

一条sql查询语句在mysql中的执行过程是什么

mysql的连接器 我们想要在mysql中执行一条sql查询语句,首先需要连接到mysql服务,那么客户端首先要向mysql服务端发起连接请求,我们可以在客户端用mysql -h [ip] -P [port] -u 用户名 -p 密码 命令向服务端发起连接请求,这个连接请…...

网络互联究竟是需要什么协议相同,什么协议不同?

混淆概念的几个说法: 说法1: “以太网交换机不可以实现采用不同网络层协议的互联” 原因:以太网交换机是数据链路层的设备,不懂网络层的知识 说法2: “网桥可互联不同的物理层、不同的MAC子层以及不同速率的以太网”…...

ajax axios json

目录 一、ajax概述 1. 概念 2. 实现方式 (1)原生的JS实现方式(了解) (2) JQeury实现方式 二、axios 介绍 三、axios使用 1. axios 发送get/post请求 2. axios验证用户名称是否存在 四、json 1. …...

外观模式——提供统一入口

1、简介 1.1、概述 在软件开发中,有时候为了完成一项较为复杂的功能,一个类需要和多个其他业务类交互,而这些需要交互的业务类经常会作为一个完整的整体出现,由于涉及的类比较多,导致使用时代码较为复杂。此时&#…...

Vue中导入并读取Excel数据

在工作中遇到需要前端上传excel文件获取到相应数据处理之后传给后端并且展示上传文件的数据. 一、引入依赖 npm install -S file-saver xlsxnpm install -D script-loadernpm install xlsx二、在main.js中引入 import XLSX from xlsx三、创建vue文件 <div><el-uplo…...

CUDA常用函数

cudaDeviceSynchronize cudaDeviceSynchronize是一个CUDA函数&#xff0c;用于同步当前设备上的所有CUDA流。它会阻塞调用它的线程&#xff0c;直到所有设备上的CUDA流都执行完为止。这可以确保在进行后续的CUDA操作时&#xff0c;先前的操作已经完成。 在CUDA程序中&#xff0…...

72. ElasticSearch常用命令

索引管理 1新建索引 curl -XPUT http://10.42.172.35:9200/index012 读写权限 curl -XPUT -d {"blocks.read":false} http://10.42.172.35:9200/index01/_settings3 查看索引 单个 curl -XGET http://10.42.172.35:9200/index01/_settings多个 curl -XGET http…...

2023.7.26(同余方程的通解与特解)

Water(扩欧求特解与通解) 题意&#xff1a;给容量分别为A与B的水杯&#xff0c;问确切喝到C水的最小操作次数 有4种操作&#xff1a;选一杯全喝&#xff0c;选一杯全部倒掉&#xff0c;选一杯装满&#xff0c;将一杯的水尽量倒到另一杯中 思路&#xff1a;只有AxByC有解时才能确…...

Diffusion扩散模型学习3——Stable Diffusion结构解析-以图像生成图像(图生图,img2img)为例

Diffusion扩散模型学习3——Stable Diffusion结构解析-以图像生成图像&#xff08;图生图&#xff0c;img2img&#xff09;为例 学习前言源码下载地址网络构建一、什么是Stable Diffusion&#xff08;SD&#xff09;二、Stable Diffusion的组成三、img2img生成流程1、输入图片编…...

LangChain||什么是LangChain? LangChain有什么用?

从Auto-GPT说起&#xff1a; Auto-GPT可以调用本地电脑工具处理复杂信息;Auto-GPT可以围绕目标查阅资 料、“独立思考”、及时反馈、并 及时调整下一步操作…Auto-GPT的诞生&#xff0c;创造了大家 对“将LLM作为智慧大脑来高效 处理综合复杂任务”的想象;首次尝试串联大语言模…...

秋招算法备战第28天 | 93.复原IP地址、78.子集、90.子集II

93. 复原 IP 地址 - 力扣&#xff08;LeetCode&#xff09; 这个问题可以通过深度优先搜索(DFS)的方法来解决。我们要做的就是在字符串的每个可能位置插入点&#xff0c;然后检查生成的每一部分是否在 0-255 的范围内&#xff0c;以及是否没有前导零&#xff08;除非这一部分本…...

Mongodb空间索引的使用以及与Django的对接

Mongodb的空间索引 Mongodb数据库大家都非常熟悉&#xff0c;是一个基于分布式文件存储的开源数据库系统&#xff0c;在高负载的情况下&#xff0c;添加更多的节点&#xff0c;可以保证服务器性能&#xff0c;数据结构由键值(key>value)对组成。MongoDB 文档类似于 JSON 对…...

Windows安装MySQL数据库

MySQL数据库安装 MySQL下载 下载地址&#xff1a;https://dev.mysql.com/downloads/mysql/ 可以选择下载msi或zip&#xff0c;以下为zip模式安装步骤 下载了mysql的zip安装包之后解压即可&#xff1b; Windows安装步骤 初始化MySQL&#xff0c;并记录生成的用户密码root的随机…...

聊聊函数式编程中的“式”

当谈到函数式编程的“式”时&#xff0c;通常指的是函数的组合、转换和应用&#xff0c;以及处理数据的方式和风格。在函数式编程中&#xff0c;式是用来构建程序逻辑的基本单元。 下面更详细解释函数式编程中的几个关键式&#xff1a; 函数的组合&#xff1a; 函数式编程中…...

ubuntu目录分析

在Ubuntu根目录下&#xff0c;以下是一些常见文件夹的含义&#xff1a; /bin&#xff1a;存放可执行文件&#xff0c;包含一些基本的命令和工具。 /boot&#xff1a;存放启动时所需的文件&#xff0c;如内核和引导加载程序。 /dev&#xff1a;包含设备文件&#xff0c;用于与硬…...

Python 进阶(三):正则表达式(re 模块)

❤️ 博客主页&#xff1a;水滴技术 &#x1f338; 订阅专栏&#xff1a;Python 入门核心技术 &#x1f680; 支持水滴&#xff1a;点赞&#x1f44d; 收藏⭐ 留言&#x1f4ac; 文章目录 1. 导入re模块2. re模块中的常用函数2.1 re.search()2.2 re.findall()2.3 re.sub()2.4…...

Vue2 第六节 key的作用与原理

&#xff08;1&#xff09;虚拟DOM &#xff08;2&#xff09;v-for中的key的作用 一.虚拟DOM 1.虚拟DOM就是内存中的数据 2.原生的JS没有虚拟DOM: 如果新的数据和原来的数据有重复数据&#xff0c;不会在原来的基础上新加数据&#xff0c;而是重新生成一份 3. Vue会有虚拟…...

React之组件的生命周期

React之组件的生命周期 一、概述二、整体说明三、挂载阶段四、更新阶段五、卸载阶段 一、概述 生命周期:一个事务从创建到最后消亡经历的整个过程组件的生命周期&#xff1a;组件从被创建到挂载到页面中运行&#xff0c;再到组件不用时卸载的过程意义&#xff1a;理解组件的生…...

linux -网络编程-多线程并发服务器

目录 1.三次握手和四次挥手 2 滑动窗口 3 函数封装思想 4 高并发服务器 学习目标&#xff1a; 掌握三次握手建立连接过程掌握四次握手关闭连接的过程掌握滑动窗口的概念掌握错误处理函数封装实现多进程并发服务器实现多线程并发服务器 1.三次握手和四次挥手 思考: 为什么…...

Golang之路---02 基础语法——字典

字典 字典&#xff08;Map 类型&#xff09;&#xff0c;是由若干个 key:value 这样的键值对映射组合在一起的数据结构。 key 不能是切片&#xff0c;不能是字典&#xff0c;不能是函数。 字典初始化 方式&#xff1a;map[KEY_TYPE]VALUE_TYPE //1.var map1 map[string]int…...

s2-pro语音合成新玩法:用标签控制语气,轻松制作带情绪的语音内容

s2-pro语音合成新玩法&#xff1a;用标签控制语气&#xff0c;轻松制作带情绪的语音内容 1. 语音合成技术的新突破 在数字内容创作领域&#xff0c;语音合成技术正变得越来越重要。传统的语音合成系统往往只能生成单调、机械的语音&#xff0c;缺乏情感表达和自然韵律。而s2-…...

一步步教你获取ADNI影像数据:从搜索到下载全流程解析

1. ADNI数据库简介与准备工作 ADNI&#xff08;Alzheimers Disease Neuroimaging Initiative&#xff09;是全球最权威的阿尔茨海默病研究数据库之一&#xff0c;包含了大量脑部影像数据和临床信息。第一次接触这个数据库的研究者可能会被复杂的界面和操作流程吓到&#xff0c;…...

保姆级教程:NotaGen一键部署,小白也能生成贝多芬风格交响乐

保姆级教程&#xff1a;NotaGen一键部署&#xff0c;小白也能生成贝多芬风格交响乐 1. 引言&#xff1a;AI音乐创作新体验 你是否曾经梦想过创作一首属于自己的交响乐&#xff1f;现在&#xff0c;NotaGen让这个梦想变得触手可及。这个基于大语言模型(LLM)的音乐生成工具&…...

从LaMa到BrushNet:盘点图像修复(Inpainting)领域的关键模型与实战数据集

1. 图像修复技术的前世今生 第一次接触图像修复技术是在2015年&#xff0c;当时我正参与一个老照片修复项目。那些泛黄的老照片上布满了裂痕和污渍&#xff0c;传统Photoshop修复需要耗费数小时。直到发现深度学习可以自动完成这项任务&#xff0c;我才意识到这项技术将彻底改变…...

MIKE URBAN中污水处理厂如何进行概化

01 前言应用厂网一体化耦合模型研究水厂间调度和厂前溢流入河污染量等内容时&#xff0c;由于不需要关注污水处理厂内部的具体处理工艺&#xff0c;需要对污水处理厂的关键设施进行概化处理。02 水厂资料收集收集污水处理的工艺流程图和设施设计参数。依据厂网一体化模型的研究…...

【技术干货】把 Claude 变成“本地自动化工程师”:Anthropic Computer Use 能力与实战落地指南

摘要 Anthropic 在 Claude Code 中正式引入 Computer Use 能力&#xff0c;让大模型可以直接操作你的桌面应用和浏览器&#xff0c;从“写代码助手”升级为“全栈自动化代理”。本文从原理、典型场景、跨平台替代方案&#xff0c;到如何用统一 OpenAI 兼容 API&#xff08;基于…...

苏州沃虎电子(VOOHU)10/100M集成式RJ45连接器SYT111B002BA2A1D产品介绍

苏州沃虎电子科技有限公司&#xff08;品牌&#xff1a;VOOHU&#xff09;供应的 SYT111B002BA2A1D 是一款高可靠性集成式RJ45连接器&#xff0c;专为10/100M以太网应用设计。该产品采用90侧插DIP封装&#xff0c;内置网络变压器&#xff0c;具备工业级宽温工作能力和优异的信号…...

造相Z-Image文生图模型v2:3步搭建你的专属AI画师

造相Z-Image文生图模型v2&#xff1a;3步搭建你的专属AI画师 1. 为什么选择Z-Image v2作为你的AI画师 在众多文生图模型中&#xff0c;造相Z-Image v2以其独特的优势脱颖而出。作为阿里通义万相团队开源的高性能模型&#xff0c;它原生支持768768及以上分辨率的高清图像生成&…...

AI 时代:祛魅、适应与重新定义

指令替换 项目需求&#xff1a;将加法指令替换为减法 项目目录如下 /MyProject ├── CMakeLists.txt # CMake 配置文件 ├── build/ #构建目录 │ └── test.c #测试编译代码 └── mypass2.cpp # pass 项目代码 一&#xff0c;测试代码示例 test.c // test.c #includ…...

生成单颗10mm级配的cluster骨料

PFC5.0代码&#xff0c;可以破碎的cluster&#xff0c;可模拟碎石、矿渣混凝土材料&#xff0c;ball与cluster颗粒&#xff0c;单轴压缩实验&#xff0c;内涵声发射事件数代码&#xff0c;分析统计ball与ball直接的裂纹数目&#xff0c;cluster内部破碎的裂纹数目上周帮同门调P…...