上篇博客答案

分析器。Oracle会在分析阶段判断语句是否正确,表是否存在,列是否存在等。猜测MySQL也这样。MySQL确实在设计上受Oracle影响颇深。

讨论

  1. 为什么对权限的检查不在优化器之前做?
    上篇写到,我们的权限检查是在执行器那个地方做的,那为啥不在优化器之前做呢?

因为有些时候,SQL语句要操作的表不只是SQL字面上那些。比如如果有个触发器,得在执行器阶段(过程中)才能确定。优化器阶段前是无能为力的

  1. 我创建了一个没有select权限的用户,执行select * from T where k=1,报错“select command denied”,并没有报错“unknown column”,是不是可以说明是在打开表之后才判断读取的列不存在?

这个是一个安全方面的考虑。你想想一个用户如果没有查看这个表的权限,你是会告诉他字段不对还是没权限?如果告诉他字段不对,其实给的信息太多了,因为没权限的意思还包含了:没权限知道字段是否存在

实习成长之路:MySQL二 : 一条SQL更新语句是如何执行的?相关推荐

  1. MySQL学习之一条SQL更新语句的执行

    文章目录 前言 一.MySQL更新操作大致流程 二.redo log介绍 三.binlog介绍 四.MySQL更新操作的具体流程 前言 今天我们通过一条SQL更新语句,了解MySQL的日志系统 一.M ...

  2. .sql文件如何执行_随手记 02 日志系统:一条SQL更新语句是如何执行的?

    上节系统了解了一个查询语句的执行流程,并介绍了执行过程中涉及的出合理模块. 连接器.分析器.优化器.执行器等功能模块,最后到达存储引擎. 一条SQL更新语句的执行流程 从一个表的一条sql语句说起 c ...

  3. 02 | 日志系统:一条 SQL 更新语句是如何执行的

      可能经常听 DBA 同事说,MySQL 可以恢复到半个月内任意一秒的状态,惊叹的同时,你是不是心中也会不免会好奇,这是怎样做到的呢?我们还是从一个表的一条更新语句说起,下面是这个表的创建语句,这个 ...

  4. MYSQL--一条SQL更新语句是如何执行的?

    输入一条更新语句,例如:update user set c=c+1 where  ID=1 具体执行流程与查询语句类似,详情请点击:https://mp.csdn.net/console/editor ...

  5. 02 | 日志系统:一条SQL更新语句是如何执行的? 笔记(转)

    与查询流程不一样的是,更新流程还涉及两个重要的日志模块,它们正是我们今天要讨论的主角:redo log(重做日志)和 binlog(归档日志).如果接触 MySQL,那这两个词肯定是绕不过的,我后面的 ...

  6. 20200906——阅读 日志系统:一条SQL更新语句是如何执行的?

    前言 前面我们知道了,一条sql语句是如何执行的,并且介绍了执行过程中涉及到的模块. 一条语句运行,经过了连接器,分析器,优化器,执行器,最后到达存储引擎. 序言 : 复习 数据库如何创建 creat ...

  7. 一条SQL更新语句是如何执行的?

    update T set c=c+1 where ID=2; 执行器先找引擎取 ID=2 这一行.ID 是主键,引擎直接用树搜索找到这一行.如果 ID=2 这一行所在的数据页本来就在内存中,就直接返回 ...

  8. 02 | 日志系统:一条SQL更新语句是如何执行的?

    一.吹牛逼

  9. 【mysql技术内幕1】mysql基础架构-一条SQL查询语句是如何执行的

    文章目录 1 一条SQL查询语句是如何执行的 2 mysql体系结构 3 InnoDB存储引擎 4 总结 1 一条SQL查询语句是如何执行的 ​ 通常我们使用数据库,都是将数据库看成一个整体,我们的应 ...

  10. 怎么做mysql查询系统_mysql数据库系统学习(一)---一条SQL查询语句是如何执行的?...

    一.第一节:一条sql查询语句是怎样执行的 5.5.5版本以后,默认使用存储引擎为InnoDB 不使用查询缓存,MySQL8.0没有查询缓存这个功能 总体来说:MySQL分为service层和存储引擎 ...

最新文章

  1. linux内核开机显示企鹅logo,批改linux内核kernel开机logo(小企鹅)
  2. Linux下Apache日志分析工具--AWStats安装使用
  3. 怎么去控制浏览器对资源文件的处理行为
  4. Web应用验证码方面总结(ASP.NET版)
  5. python这个软件学会能做什么工作-不要再复制粘贴了 !学会Python,分分钟搞定一整天的工作...
  6. 40个精美绝伦的国外网站设计作品范例(下)
  7. 【转】浅谈.net remoting 与webservice
  8. PHP判断文章是否有图片,利用PHP判断文件是否为图片的方法总结
  9. boost::fusion::make_unfused用法的测试程序
  10. java 文本工具类_干货:排名前16的Java工具类
  11. 在SAP CDS view上添加扩展字段后激活,背后的实现原理
  12. 移动计算比移动数据更划算
  13. 数据结构之链式队列的优化
  14. 华为P50系列相机全球首发新技术:告别偏色做到真实原色捕捉
  15. 力扣113. 路径总和 II(JavaScript)
  16. 注册信息表html,实战系列 —— HTML 的 “注册信息表”
  17. Java基础语法-方法的定义、调用以及static关键字的使用
  18. Spark HA 集群搭建【1、基于文件系统的手动HA 2、基于zk的自动HA】
  19. 学信号处理要理解均值、平均偏差、标准差、方差
  20. Unity URP中根据深度重建世界坐标

热门文章

  1. java简单图书馆管理系统_简单 图书馆管理系统 Java+Oracle
  2. 文本推理_基于事理图谱的文本推理
  3. ajax显示dataframe,如何使用ajax在运行时显示shell脚本的输出
  4. Django图书管理系统
  5. Python学习 5day__基础知识
  6. Unity中Invoke函数基础用法
  7. 具有分散效果的瀑布流
  8. lsof -Pni4 | grep LISTEN | grep php
  9. ExtJS笔记 Grids
  10. Size Classes with Xcode 6