首页 > 数据库 >一条SQL查询语句是如何执行的?

一条SQL查询语句是如何执行的?

时间:2024-01-25 23:22:30浏览次数:29  
标签:语句 缓存 查询 SQL 权限 连接

1.客户端

通过TCP握手,如果账户密码通过后,连接器去权限表获得当前连接权限。

默认时间-8小时,长连接。使用长连接的好处可以避免连接的损耗。

2.查询缓存

5.6版本有查询缓存,但是缓存在update、delete。会导致缓存失效,所以缓存的利用率不高(8.0缓存已删除)

3.分析器

SQL语句会进行词法分析(select * from user)知道,mysql会知道查询那张表,那些字段

然后再进行语法分析,Mysql会判断是否满足语法,如果不对则会提示SQL错误

4.优化器

mysql表里面有索引,则会择优选择索引。

5.执行器

根据生成的执行计划,并且校验权限。有权限则操作存储引擎将放入结果集,返回给客户端。

标签:语句,缓存,查询,SQL,权限,连接
From: https://www.cnblogs.com/jichenghui/p/17988411

相关文章

  • 交强险投保日期查询接口
     本文将为大家介绍一个API接口,用于查询交强险的投保日期。该接口可以帮助用户了解自己的保险到期时间,并可以通过同步更新保险信息,提供详细的交强险投保信息。API接口链接:https://www.wapi.cn/compulsory.html 交强险投保日期查询交强险是指机动车交通事故责任强制保险,是......
  • sql自学笔记(三)常见函数
    select函数名(实参列表)from表concat拼接将姓变大写,名变小写,然后拼接>selectconcat(upper(last_name),lower(first_name))姓名fromemployeessubstr/substring截取子串selectsubstr('我爱上你',2)截取从指定索引处后面所有字符,sql索引从1开始selectsubs......
  • [sqlAlchemy] sqlAlchemy中的relationship()
    在学习select和join的时候被relationship相关的东西搞得头大,感觉看不懂这个就没办法继续下去了官方教程在这里先把我们一直在用的两个类拿过来用户类,对应user_account表classUser(Base):__tablename__="users"id:Mapped[int]=mapped_column(primary_key=T......
  • MySQL SQL点查,范围查,排序,分组的Explain分析和SQL优化(8.0版本)
    MySQLSQL常用优化主要有where,range,order,groupby,or等查询。下图是优化的原则,后面会有一个例子来看看:比如建立了联合索引(c1,c2,c3),索引长度分别为5,5,4。数据有50条:点查SELECT*FROMtraining.t1wherec3=1andc2=1andc1=1;使用了索引,只要全部包含索引列,那么点查顺序......
  • [原创]Windows安装配置PostgreSql_15.5.1数据库
    [原创]Windows安装配置PostgreSql_15.5.1数据库   PostgreSql数据库有多种安装方式,windows上常用的是installer方式、binary手动安装方式,本文采用手动安装的方式处理。总体过程比较简单,有mysql配置经验的分分钟的事儿。    一、下载并解压文件到具体安装目录。 ......
  • SQL--数据查询语句DQL
    DQL--语句DQL-介绍DQL英文全称是DataQueryLanguage(数据查询语句),用来查询数据库表中的记录。DQL-语法//编写顺序SELECT字段列表FROM表名列表WHERE条件列表GROUPBY分组字段列表HAVING分组后条件列表ORDERBY排序字段列表LIMIT分页参数......
  • sqlmap过滤连续空格的方法
    一、指定脚本tamper=space2comment是SQLMAP的一个参数,用于指定使用space2comment.py脚本进行注入测试时的数据处理方式。具体来说,space2comment.py脚本的作用是将SQLMAP检测目标时所使用的payload中的空格全部替换成注释。通过使用这个参数,可以增加注入测试的成功率。范例:<<引用:–......
  • SQLServer查询历史执行记录的方法实现
    1.使用SQLServerManagementStudio(SSMS)的查询执行记录功能:打开SSMS,连接到要查看执行记录的数据库服务器。在“对象资源管理器”窗格中,右键单击要查看执行记录的数据库,然后选择“报表”>“标准报表”>“执行记录”。在“执行记录”窗口中,选择要查看的时间范围和其他......
  • Python基础语法:代码规范、判断语句与循环语句
    Python是一种高级、动态类型的编程语言,其语法清晰、简洁,易于学习。本文将介绍Python基础语法中的代码规范、判断语句和循环语句。一、代码规范良好的代码规范可以提高代码的可读性和可维护性。在Python中,有一些常见的代码规范建议:使用有意义的变量名。变量名应该清晰地描述变量的用......
  • MySQL学习笔记-d1
    壹·基础篇通用语法及分类DDL:数据定义语言,用来定义数据库对象(数据库、表、字段)DML:数据操作语言,用来对数据库表中的数据进行增删改DQL:数据查询语言,用来查询数据库中表的记录DCL:数据控制语言,用来创建数据库用户、控制数据库的控制权限DDL:1.1数据库CREATEDATABASE......