《高性能MySQL》学习笔记 day
第一层:客户端
第二层:查询解析、分析、优化、缓存以及所有的内置函数等,所有跨存储引擎的功能都在这一层实现:存储过程、触发器、视图等
连接/线程处理
查询缓存 解析器
优化器
第三层:包含存储引擎,负责mysql数据的存储和提取。
1.1.1连接管理与安全性
1.每个客户端连接都会在服务器进程中拥有一个线程,这个连接的查询只会在这个单独的线程中执行。
2.因为服务器会负责缓存线程,因此不需要为每一个新建的连接创建或销毁线程(会从缓存中取线程)
3.mysql5.5以上会提供一个API,支持线程池(Threading-Pooling)插件可以使用池中少量的线程来服务大量的连接
4.客户端连接到MTSQL服务器时,服务器需要对其进行认证。
1.1.2优化与执行
MySQL会解析查询,并创建内部数据结构(解析树),然后对其进行各种优化,包括重写查询、决定表的读取顺序,以及选择合适的索引等。