博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
高性能MySQL之架构与历史(1)
阅读量:7287 次
发布时间:2019-06-30

本文共 677 字,大约阅读时间需要 2 分钟。

MySQL架构与历史

MySQL逻辑架构

 

第一层:mysql客户端,负责和mysql服务器连接处理、认证授权、安全、线程处理等。

第二层:大多数mysql的核心功能都在这一层,包括查询解析、分析、优化、查询缓存以及所有的内置函数(如:日期、时间的函数等),所有夸存储引擎的功能都在这一层实现:存储过程、触发器、视图等。

第三层:包含存储引擎,存储引擎负责mysql中数据的存储、提取、锁机制等。

注:存储引擎不会解析sql。单InnoDB是一个列外,他会解析外键定义,因为mysql服务器本身没有实现该功能。

连接管理与安全性

     每个客户端链接都会在服务器进程中拥有一个线程。这个链接的查询只会在这个单独的线程中执行,该线程只能轮流在某个CPU核心CPU中运行。

Mysql5.5版本支持线程池插件,可以使用池中少量的线程来服务大量的链接。

    当客户端连接Mysql服务器时,会对其进行验证,验证成功后,服务器会继续验证是否具有某个查询的权限。

优化与执行

1.MySQL会解析查询,并创建内部数据结构(解析树),然后对其进行各种优化,包括重写查询、决定表的读取顺序,以及选择合适的索引等。

2.优化器并不关心表用的是什么存储引擎,但存储引擎对于优化查询是有影响的。

3.对于select语句,在解析查询之前,首页会在查询缓存中检查,如果能在查询缓存中检索到结果,那么就不会在进行查询解析、分析、优化和执行的整个过程,而是直接从查询缓存中检查的结果集返回。

转载于:https://www.cnblogs.com/tongluo/p/5665774.html

你可能感兴趣的文章
C++中关于指针作为参数传递的问题
查看>>
大清单报表应当怎么做?
查看>>
Spring AOP 实现方法日志记录以及执行时间打印
查看>>
Linux中 tail -f;tail -F;tailf的区别
查看>>
Linux下的数据备份工具rsync
查看>>
支付宝小程序注意事项
查看>>
ArrayList
查看>>
【小松教你手游开发】【unity实用技能】List列表排序
查看>>
日常工作之Zabbix源码编译,兼容mysql5.6
查看>>
Zabbix分布式监控
查看>>
中兴智能视觉大数据报道:人工智能相当火爆,或将下一个风口
查看>>
OCP 12c最新考试原题及答案(071-3)
查看>>
xdebug+phpstorm(windows)
查看>>
Spring Boot整合Hibernate操作
查看>>
阿里云移动端播放器高级功能---直播时移
查看>>
主动式部署陷阱
查看>>
webx2.0-RundataService学习总结
查看>>
SpringMVC的拦截器(Interceptor)和过滤器(Filter)的区别与联系
查看>>
云计算培训论云计算下的网络安全及措施
查看>>
users表空间在线损坏(不通过RMAN恢复)
查看>>