深入浅出MySQL:概述与体系结构解析_《深入浅出mysql》深入浅出
目录
-
- 1. 初识MySQL
-
- 1.1. 数据库
-
- 1.1.1. OLTP(联机事务处理)
- 1.1.2. OLAP(联机分析处理)
- 2. SQL
-
- 2.1. 定义
- 2.2. DQL(数据查询语言)
- 2.3. DML(数据操纵语言)
- 2.4. DDL(数据定义语言)
- 2.5. DCL(数据控制语言)
- 2.6. TCL(事务控制语言)
- 3. 数据库术语
- 4. MySQL体系结构
-
- 4.1. 连接器
- 4.2. MySQL内部连接池
-
- 4.2.1 线程模型
- 4.2.2. 主线程
- 4.2.3. 连接线程
- 4.2.4. MySQL的线程模型优化
- 4.3. 管理服务和工具组件
- 4.4. SQL接口
- 4.5. 查询解析器
- 4.6. 查询优化器
- 4.7. 缓冲组件
- 5. 数据库设计三范式及反范式
-
- 5.1. 空间和时间的关系
-
- 5.1.1. 三范式目的
- 5.1.2. 三范式内容
- 5.1.3. 反范式
- 5.2. 三范式与反范式的权衡
- 6. 怎么执行一条SELECT语句
-
- 6.1. 连接器
-
- 6.1.1. 接收连接
- 6.1.2. 管理连接
- 6.1.3. 校验用户信息
- 6.2. 查询缓存
-
- 6.2.1. 功能
- 6.2.2. 工作原理
- 6.3. 分析器
-
- 6.3.1. 词法分析
- 6.3.2. 语法分析
- 6.4. 优化器
-
- 6.4.1. 制定执行计划
- 6.4.2. 选择最优索引
- 6.4.3. 最小化执行成本
- 6.5. 执行器
-
- 6.5.1. 获取数据
- 6.5.2. 返回结果
- 参考
1. 初识MySQL
1.1. 数据库
数据库是按照一定的数据模型组织、存储和管理数据的集合。数据库系统可以分为不同类型,主要包括OLTP和OLAP。
1.1.1. OLTP(联机事务处理)
OLTP(Online Transaction Processing)主要用于处理大量的短事务,如插入、更新和删除操作。其特点包括:
- 高并发:支持大量用户同时操作。
- 事务性:确保数据的一致性和完整性。
- 实时性:快速响应用户请求。
- 应用场景:电商平台、银行系统、在线订票等。
1.1.2. OLAP(联机分析处理)
OLAP(Online Analytical Processing)主要用于复杂的查询和数据分析。其特点包括:
- 复杂查询:支持多维度、多层次的数据分析。
- 大数据量:处理和分析海量数据。
- 数据仓库:通常建立在数据仓库基础上。
- 应用场景:商业智能、市场分析、数据挖掘等。
2. SQL
SQL(Structured Query Language)是用于管理和操作关系数据库的标准语言。SQL包括多个子语言,每个子语言负责不同的功能。
2.1. 定义
SQL是一种用于与数据库进行通信的语言,支持数据的查询、更新、插入和删除等操作。它同时支持数据库对象的创建和管理,如表、视图和索引。
2.2. DQL(数据查询语言)
DQL主要用于查询数据,最常用的命令是SELECT
。
示例:
SELECT name, age FROM users WHERE age > 18;
2.3. DML(数据操纵语言)
DML用于数据的插入、更新和删除操作,包括INSERT
、UPDATE
和DELETE
。
示例:
INSERT INTO users (name, age) VALUES (\'Alice\', 30);UPDATE users SET age = 31 WHERE name = \'Alice\';DELETE FROM users WHERE name = \'Alice\';
2.4. DDL(数据定义语言)
DDL用于定义和管理数据库结构,包括CREATE
、ALTER
和DROP
等命令。
示例:
CREATE TABLE users ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(100), age INT);ALTER TABLE users ADD COLUMN email VARCHAR(100