SQL 单表优化,公司项目常用 本文旨在总结 SQL 单表优化的相关知识点,涵盖 MySQL 的基本架构、SQL 优化原因、索引定义、索引类型、索引创建等方面。 MySQL 基本架构 MySQL 的基本架构可以分为四层:连接层、服务层、引擎层和存储层。 1. 连接层:负责与客户端的连接,提供了各种用户使用的接口,如 select、update、insert、delete 等。 2. 服务层:提供了 SQL 优化器(MySQL Query Optimizer),负责优化 SQL 语句的执行。 3. 引擎层:提供了各种存储数据的方式,如 InnoDB 和 MyISAM 等。 4. 存储层:负责实际存储数据,提供了不同的存储机制、索引技巧和锁定水平等功能。 SQL 优化原因 SQL 优化的原因主要包括: 1. 执行时间长 2. 执行时间过程太长 3. 等待时间太长 4. SQL 语句欠佳 5. 索引失效 6. 服务器参数设置错误 索引定义 索引是帮助 MySQL 高效获取数据的数据结构,类似于书本的目录,可以加快数据库的查询速度。索引的优点包括提高查询效率、降低 IO 流的使用率和降低 CPU 的使用率。然而,索引也存在一些缺点,如索引本身很大、占用内存和硬盘空间、不是所有的情况都适用等。 索引类型 索引类型包括: 1. 聚集索引:索引与数据存放在同一个文件中。 2. 非聚集索引:索引与数据存放在不同的文件中。 3. 主键索引:不能重复,不能是 null。 4. 唯一索引:不能重复,可以是 null。 5. 单值索引:单列索引,一个表可以多个单值索引。 6. 复合索引:多个列构成的索引。 索引创建 索引可以通过两种方式创建: 方式一:使用 create 语句创建索引,例如: ``` create index dept_index on tb(dept); create unique index name_index on tb(name); create index dept_name_index on tb(dept, name); ``` 方式二:使用 alter 语句创建索引,例如: ``` alter table tb add index dept_index(dept); alter table tb add unique index name_index(name); ``` 本文总结了 SQL 单表优化的相关知识点,涵盖 MySQL 的基本架构、SQL 优化原因、索引定义、索引类型和索引创建等方面,旨在帮助读者更好地理解和掌握 SQL 单表优化的技术。
剩余9页未读,继续阅读
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C语言-leetcode题解之70-climbing-stairs.c
- C语言-leetcode题解之68-text-justification.c
- C语言-leetcode题解之66-plus-one.c
- C语言-leetcode题解之64-minimum-path-sum.c
- C语言-leetcode题解之63-unique-paths-ii.c
- C语言-leetcode题解之62-unique-paths.c
- C语言-leetcode题解之61-rotate-list.c
- C语言-leetcode题解之59-spiral-matrix-ii.c
- C语言-leetcode题解之58-length-of-last-word.c
- 计算机编程课程设计基础教程