赞
踩
MySQL Server架构大致可以分为:网络连接层、服务层、存储引擎层和系统文件层。
客户端连接器(Client Connectors)提供与MySQL服务器建立连接的支持。
目前主流服务器编程技术,例如:Java、C、Python,它们均是通过各自API与MySQL建立连接
服务层为MySQL Server的核心,主要包括系统管理和控制工具、连接池、SQL接口、解析器、查询优化器和缓存六个部分。
连接池
负责存储和管理客户端与数据库的连接,一个线程管理一个连接。
系统管理和控制工具
例如备份恢复、安全管理、集群管理等。
SQL接口
用于接受客户端发送的各种SQL命令,并且返回用户需要的接口。例如:DML、DDL、存储过程、视图、触发器等。
解析器
负责将请求的SQL解析成一个解析树,然后根据一些MySQL规则进一步检查解析树是否合法。
查询优化器
当解析树通过解析器语法检查后,交由查询优化器将其转化为执行计划,然后与存储引擎交互。
查询优化器一般流程为:选取-->投影-->连接 策略
例如:select id,name from user where id = 1
1.select先根据where语句进行选取,并不是查询全部数据再过滤
2.select查询根据id、name进行属性投影,并不是取出所有字段
3.将前面的选取和投影连接起来行程最终的结果
缓存
缓存机制是由一系列小缓存组成的。比如表缓存、记录缓存、权限缓存、引擎缓存等。如果查询有命中的查询接口,查询语句就可以直接查询缓存中取数据。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。