在对MySQL深入的学习之前,我们首先要了解MySQL的一个完整的架构。
首先了解到MySQL是一个开源的数据库管理系统,它相对于Oracle更加地轻量、成本低,随着功能的日益完善,它也变得备受企业的喜爱,尤其是中小企业。
有图可知,MySQL的最上层是连接器,下面有连接池、系统管理和控制工具、SQL接口、解析器、优化器、缓存、存储引擎、文件系统组成。
(一)连接层: 最长层是一些客户端和连接服务,包括本地sock通信和大多数基于客户端/服务端工具实现的类似于TCP/IP的通信。主要完成一些类似于连接处理、授权认证、及相关的安全方案。
(二)服务层: 第二层结构主要完大多数的核心服务功能,入SQL接口,并完成缓存的查询,SQL的分析和优化及部分内置函数的执行。所有跨存储引擎的功能也在这一层实现,如过程、函数等。在该层,服务器会解析查询并创建相应的内部解析树,并对其完成相应的优化,如确定查询表的顺序,是否利用索引等,最后生成相应的执行操作。如果是SELECT语句,服务器还会查询内部的缓存。如果缓存空间足够大,这样在解决大量读操作的环境中能够很好的提升系统的性能。
-
连接池:由于每次建立都需要消耗很多时间,连接池的作用就是将这些连接进行一个预缓存,在下次需要连接的时候,就不需要去创建&#x