MySQL数据库的 B+树 索引可以分为两大类,一类叫 聚集索引,一类叫 非聚集索引(普通索引)

(1)聚集索引:

InnoDB 存储引表是索引组织表,聚集索引其实就是一种索引组织形式,索引键值的逻辑顺序决定了表数据行的物理存储顺序。

聚集索引 叶子结点存放表中所有行数据记录的信息。对于聚集索引来说,数据即索引,索引即数据。

在创建一张表时,要显式地为表创建一个主键 (聚集索引)如果不主动创建主键,那么 InnoDB 会选择第一个不包含有 null 值的 唯一索引 作为主键。

如果连 唯一索引 都没有InnoDB 就会为该表默认生成一个6字节的rowid 作为主键。

(2)普通索引:

普通索引在叶子结点并不包含所有行的数据记录,只是会在叶子结点存有自己本身的键值和主键的值。

在检索数据时,通过普通索引叶子结点上的主键来获取到想要查找的行数据记录。

普通索引的创建语法:

alter table table_name add index index_name(索引字段);

或

create index index_name on table_name(索引字段);

查看表中索引信息:

show index from table_name;

explain的使用:

暂略。。。。

A、查看 某个 字段的索引选择性:

select count(distinct name)/count(*) from t;

得出的结果值越接近 1,就表示重复值越小,选择性就越高,就越适合建索引。

作者:admin  创建时间:2023-01-13 10:59
最后编辑:admin  更新时间:2023-02-02 11:54