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
最后编辑:admin 更新时间:2023-02-02 11:54