MySQL体系结构概述
1.MySQL系统的重要组件包括连接管理器、线程管理器、命令分发器。
2.连接管理器负责接收用户请求,转交给线程管理器,验证用户访问。
3.用户请求包括查询命令,这些命令由命令分发器处理,如交友、缓存、解析结果或记录用户行为。
MySQL查询处理流程
1.查询处理流程包括高速缓存查询、词法分析、语法分析、结果缓存检查和分析后结果处理。
2.如果查询结果在缓存中,直接返回缓存结果;否则,交由优化器处理。
3.优化器选择代价最小的执行路径,实现查询结果的最少IO代价获取。
4.执行引擎负责执行优化器的优化结果,直接面对存储引擎。
MySQL存储引擎概念
1.MySQL支持插件式存储引擎,如InnoDB和MyISAM。
2.存储引擎是表级别的概念,意味着每个表可以独立选择存储引擎。
3.存储引擎负责将用户视图转换为物理层,实现逻辑转换和高级特性如事务支持。
MySQL表结构与文件
1.MyISAM表结构包括.frm表结构定义文件、.MYD表数据文件和.MYI索引文件。
2.InnoDB表支持事务,使用.frm表结构定义文件和.ibd表空间文件存储数据和索引。
3.不同存储引擎的表文件类型和结构有所不同,底层存储机制各不相同。
MySQL内部通信协议与架构
1.MySQL具有自己的内部通信协议,用于客户端和服务器端之间的通信。
2.介绍了MySQL的架构,包括客户端组件、服务器端组件和非客户端组件。
3.客户端组件包括连接管理器、线程管理器等,服务器端组件负责处理用户请求和查询。
MySQL启动与配置文件
1.MySQL启动时会在多个位置查找配置文件,如etc目录下的my.cnf。
2.配置文件中使用中括号定义段的应用范围,如[mysqld]表示仅对mysql服务生效。
3.绝大多数参数可以在命令行直接指定,如--host。
MySQL查询语言与数据类型
1.介绍了MySQL的结构化查询语言(SQL)的使用,包括数据类型和查询语句的基本结构。
2.数据类型包括数值型、字符型、日期时间型等,每种数据类型有其特定的用途和限制。
3.数值型数据类型包括整型和浮点型,字符型数据类型包括定长和变长字符型。
4.日期时间型数据类型用于存储日期、时间和时间戳等,布尔型数据类型用于存储二进制值。
MySQL数据类型详解
1.数值型数据类型包括整数类型(如TINYINT,SMALLINT,MEDIUMINT,INT,BIGINT)和浮点数类型(如FLOAT,DOUBLE)。
2.字符型数据类型包括定长字符型(如CHAR)和变长字符型(如VARCHAR),以及二进制字符型(如BINARY,VARBINARY)。
3.日期时间型数据类型包括DATE,TIME,DATETIME,TIMESTAMP,YEAR等。
4.布尔型数据类型使用BOOLEAN表示,实际上是非负整数类型的一个子类型。
5.字符串类型的存储空间需求和最大长度限制,如VARCHAR(m)最多存储m个字符,TEXT类型可以存储更多字符。
数值型数据的表示与存储
1.数值型数据在计算机中的表示和存储方式,包括定点数和浮点数的区别及其应用场景。
MySQL字符集与排序规则
1.字符集用于定义字符的编码方式,排序规则定义了字符的比较和排序方式。
2.创建表时未指定字符集或排序规则,会从数据库继承,数据库未指定则从服务器继承。
3.使用character set和collection命令可以查看服务器支持的字符集和排序规则。