MySQL分为Server层和存储引擎层。

Server层包括连接器、查询缓存、分析器、优化器、执行器等,涵盖MySQL的大多数核心功能,以及所有的内置函数(如时间、日期、数学和加密函数等),所有跨存储引擎的功能都在这一层实现,包括存储过程、触发器、视图等。

存储引擎负责数据的存储和提取,其架构是插件式的,支持 InnoDB、MyISAM、Memory 等多个存储引擎。现在最常用的存储引擎是 InnoDB。

连接器:客户端向服务器发起连接请求时的第一步工作,通过mysql -u user -p,摁下enter回车后,输入密码;如果输入的用户名和密码无误,就顺利建立连接了。

查询缓存:当你执行查询语句时,MySQL会首先查看查询缓存里面时候有相应的查询结果,其中查询缓存是已key:value键值对的形式存放的。但是一般不建议使用查询缓存,因为一旦对一个表有更新,查询缓存就会失效,因此除非是更新情况很少的表,不建议使用查询缓存。

分析器:在查询缓存里找不到结果后,就会进入到分析器阶段,分析器先做“语法分析”,识别出输入查询语句的每一个单词代表啥,然后进行“语法分析”,根据语法规则,判断查询语句是否合法。

优化器:经过了分析器,MySQL知道了你要做什么,然后在开始之前,要进行优化器的处理,例如在表里面有多个索引的时候,决定使用哪个索引;或者在一个语句有多表关联(join)的时候,决定各个表的连接顺序。

执行器:经过了以上步骤,知道了你要做什么,也确定了执行顺序,接下来就是取数据了,首先MySQL会查询当前用户对表是否有权限,有权限时就会打开表执行。

查看mysql某人执行了什么语句_一条 SQL 语句是如何在 MySQL 中执行的相关推荐

  1. mysql语句统计总数_一条sql语句实现统计查询_MySQL

    bitsCN.com 一条sql语句实现统计查询 如图:程序员在进行如下的统计时,现在提供两种实现方案: 方案一:运用 SEKECT CASE WHEN EXPLAIN SELECT count(*) ...

  2. mysql查询数量语句_mysql语句统计总数_一条sql语句实现统计查询_MySQL

    bitsCN.com 一条sql语句实现统计查询 如图:程序员在进行如下的统计时,现在提供两种实现方案: 方案一:运用 SEKECT CASE WHEN EXPLAIN SELECT count(*) ...

  3. java存储过程与sql语句_存储过程与SQL语句怎么选择

    应用存储过程的优点: 1.具有更好的性能 存储过程是预编译的,只在创建时进行编译,以后每次执行存储过程都不需再重新编译, 而一般 SQL 语句每执行一次就编译一次,因此使用存储过程可以提高数据库执行速 ...

  4. 执行sql语句_一条SQL查询语句是如何执行的?

    本篇文章将通过一条 SQL 的执行过程来介绍 MySQL 的基础架构. 首先有一个 user_info 表,表里有一个 id 字段,执行下面这条查询语句: select * from user_inf ...

  5. mysql中的级联删除的语句_级联删除sql语句-数据库级联删除语句-sql删除语句

    SQl语句的级联删除问题 删除应该有顺序 1,删除link表 delete from ref,link where ref.link_code=link.link_code and link_id=? ...

  6. excel mysql 参数查询语句_如何用SQL语句查询Excel数据?

    如何用SQL语句查询Excel数据? Q:如何用SQL语句查询Excel数据? A:下列语句可在SQL SERVER中查询Excel工作表中的数据. 2007和2010版本: SELECT*FROMO ...

  7. excel mysql 参数查询语句_如何用SQL语句查询Excel数据

    Q:如何用SQL语句查询Excel数据? A:下列语句可在SQL SERVER中查询Excel工作表中的数据. 2007和2010版本: SELECT * FROM OpenDataSource( ' ...

  8. mysql 平均日营业额_一条SQL语句中算日销售额和月销售额

    刚刚做项目的时候用到的 用户表:用户ID,用户名,余额 流水表:时间,用户ID,用户名,类型(0充值,1消费),变更金额 现在要查每个用户的日销售额和月销售额,本来最简单的方法是先把所有用户查出来,然 ...

  9. db2查询表结构语句_常用的sql语句集合(适合数据库初级人员)

    一.基础 1.创建数据库 CREATE DATABASE database-name 2.删除数据库 drop database dbname 3.备份sql server --- 创建备份数据的 d ...

最新文章

  1. 开发出高性能的网站系列文章
  2. 笔记-信息化与系统集成技术-人工智能的特点
  3. HeartBeat 集群组件概述
  4. 对爬虫爬取到的数据进行存储
  5. 微信小程序--家庭记账本开发--01
  6. 第一篇-Html标签中head标签,body标签中input系列,textarea和select标签
  7. oracle应收模块核销点不上,详解EBS接口开发之应收款处理
  8. 随想录(学习《许式伟的架构课》)
  9. autojs通用拾色器
  10. c语言入门经典的作用,C语言入门经典
  11. Jsckson 实现 java 对象与 JSONObject 和 JSONArray 互转
  12. 一阶线性微分方程 解法
  13. 计算机突然有一个盘打不开,电脑分区突然打不开的原因及解决方法
  14. 《互联网时代》第五集 崛起
  15. 宝塔php不能上传大文件,解决BT宝塔无法上传大文件的方法,请收藏
  16. 愿得一人心——祭奠······埋葬我218的爱情
  17. 体验Android:个人所得税计算器 含源码
  18. 取消UL和OL符号以及padding和margin后恢复默认值的CSS
  19. gpu浮点计算能力floaps_为何CPU浮点计算能力差,什么是浮点计算,GPU为何擅长浮点计算?...
  20. oracle时间回溯,关于Oracle降序索引的定意及回溯

热门文章

  1. 智能指针(一):STL auto_ptr实现原理
  2. [Ubuntu Error]无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)
  3. java除了框架还需要什么_除了框架,前端面试还问什么
  4. 交互式数据可视化的优势
  5. 挑选大数据营销平台应注意哪些问题
  6. pkpm快速入门教程_PKPM快速入门教程.ppt
  7. AcWing 4241. 货物运输
  8. java 第几周_java获取第几周
  9. andriod连接mysql测试_android开发 MyEclipse下测试连接MySQL数据库
  10. [tensorflow]tensorflow 2.1 函数API(The Functional API)