搞懂MySQL索引和数据库调优实操

2020-07-08  本文已影响0人  文知道

一、索引的本质

二、索引的主要种类

按照功能逻辑划分
  1. 普通索引:基础的索引,没有任何约束,主要用于提高查询效率。
  2. 唯一索引:在普通索引的基础上增加了数据唯一性的约束,在一张数据表里可以有多个唯一索引。
  3. 主键索引:唯一索引的基础上增加了不为空的约束,一张表里最多只有一个主键索引。这是由主键索引的物理实现方式决定的,因为数据存储在文件中只能按照一种顺序进行存储。
  4. 全文索引:用的不多,MySQL 自带的全文索引只支持英文。我们通常可以采用专门的全文搜索引擎,比如 ES(ElasticSearch) 和 Solr。
按照物理实现划分
  1. 聚集索引:即主键索引,一张表里只有一个聚集索引。
  2. 聚集索引:除聚集索引以外的索引,在数据库系统会有单独的存储空间存放,这些索引项是按照顺序存储的,但索引项指向的内容是随机存储的。也称为二级索引或者辅助索引。
按照字段个数划分
  1. 单一索引:索引列为一列时为单一索引。
  2. 联合索引:多个列组合在一起创建的索引叫做联合索引。
联合索引的最左原则

三、索引的使用前提

四、数据调优的方法

1、优化逻辑查询

2、优化物理查询

FROM  > JOIN > WHERE > GROUP BY > HAVING > SELECT 的字段 > DISTINCT > ORDER BY > LIMIT
SHOW INDEX FROM 表名

五、索引失效的几种情况

上一篇下一篇

猜你喜欢

热点阅读