mysql里的5种索引创建
mysql 数据库中的索引
- 从数据结构角度
- B+树索引
参考网址
- hash索引
- 从物理存储角度
- 聚集索引(clustered index)
- 非聚集索引(non-clustered index)
- 从逻辑角度(这个角度的索引分类是下面所有文章讲的部分)
- 主键索引
它是一种特殊的唯一索引,不允许有空值。- 唯一索引
与普通索引 类似,不同的就是:索引列的值必须唯一,但允许有空值。- 普通索引(单列索引)
最基本的索引,没有任何限制。- 全文索引
仅可用于 MyISAM 表,针对较大的数据,生成全文索引很耗时好空间。- 多列索引(组合索引)
为了提高mysql查询效率可建立多列索引,遵循”最左前缀“原则。
- 最左前缀原则概念
创建 多列索引 时要根据业务需求,应该将查询频率最高的字段放在 索引 的最左边,根据频率依次递减排列索引字段。- 最左前缀原则举例理解
https://www.cnblogs.com/mracale/p/9227421.html
https://blog.csdn.net/u013164931/article/details/82386555
在DDL语句中的展示
什么情况下索引会失效
什么情况下可以使用覆盖索引
如何查找mysql中慢查询的sql语句
EXPLAIN 命令
- EXPLAIN命令的作用
使用explain语句,我们能够清楚的知道MySQL是怎么执行我们的SQL语句的,执行某个查询语句总共查询了多少条记录,使用了什么表以及多表的链接顺序是怎么样的,该查询使用了哪些索引等等信息,有了这些信息,我们能够根据多次执行和分析优化我们的数据库,该建立索引的建索引,该删除的索引就删除掉。
- EXPLAIN命令的详解地址