Mysql 深入浅出(一)

Mysql基础框架

工作中经常必然会涉及到数据库的操作。但是自己对数据库的知识没有形成一个很连贯的知识网络,接下来的时间自己会根据阅读的图书做一些笔记总结。

Mysql主要分为两层,server层和存储层。如下图:

连接器:负责用户的链接管理,密码验证,鉴权登陆等。

分析器:对SQL语句进行分析。其实SQL就是一个有规则的(包含关键字和空格)字符串。分析器会对字符串中的关键字进行解析。eg:select, update等关键字。并且能够知道这些关键字后面字符串所代表的意思(是一个table,或者是一列,或者是一个值)

查询缓存:查询缓存会保存以前查询过的sql语句,是以K-V的形式存储。如果Sql语句命中,就直接返回结果。 PS:查询缓存在静态数据中比较适用,因为在经常Update和Insert的数据库中,每次update或者insert之后缓存就会失去作用。

优化器:经过了分析器之后,Mysql就会知道你需要干什么了,这是优化器会负责优化SQL语句。例如选择合适的索引,或者在join的时候选择先join 在关联或者是先关联在join。

执行期:真正的去执行语句。在执行语句之前,要先判断一下你对这个表table是否有执行的权限,如果没有就会返回权限错误的提示。(同理,在查询缓存返回结果的时候因为先验证是否有该表的执行权限)。

存储engine:InnoDB,Mysaim 等,每个engine都用自己的特点以及适用的业务场景。后面会具体分析。

 

因此一个SQL语句在Mysql中是怎样被执行的就很清晰了。后面会继续深入分析Mysql。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值