一条查询sql是如何执行的-读书笔记

Myqsl的结构如下:

连接器:负责进行鉴权,当进行数据库连接时,会进入连接器进行鉴权。

解析器:对sql进行解析,如果sql不准确,将会在这层抛出异常。如果开启了缓存,将进行缓存查询。

优化器:sql将会进行优化,比如确认join的链接顺序,有多个单列索引时,应该使用哪个。

执行器:执行脚本,如果没有设置默认是调用innodb引擎。

缓存:如果开启缓存,是以key-value的形式存储,key是执行的sql,value是data,但是要慎用缓存,因为缓存会频繁的写入数据,会导致缓存频繁刷新。缓存命中率会降低。

query_cache_type设置成DEMAND可以不使用缓存设置。sql使用SQL_CACHE可以直接使用缓存。mysql8.0直接去掉了缓存模块。

发布了23 篇原创文章 · 获赞 19 · 访问量 1380

猜你喜欢

转载自blog.csdn.net/u012335601/article/details/104547322