美国vps服务器的MySQL索引创建与维护

已关闭留言

美国vps服务器的MySQL索引创建与维护

1 InnoDB两种索引介绍

B+树索引:B+树在数据库中的实现,高度大约2~3层,最多2-3I/O即可查询到数据行

聚集索引:按照主键构造的一棵B+

叶子节点存放表的行记录,叶子节点也称数据页

非叶子节点存放键值以及指向数据页的偏移量

辅助索引:

叶子节点包含键值以及对应行数据的主键

每张表可以存在多个非聚集索引

哈希索引:InnoDB存储引擎使用自适应哈斯索引,采用散列表的数据结构,加速查询

key:索引键值,value:索引记录页面位置

系统自动生成,无法手动干预

注:B+树索引的使用场景:取值范围广、高选择性的字段

2 创建/删除索引

ALTER TABLE

ALTER TABLE 表名 ADD [UNIQUE|FULLTEXT|SPATIAL] INDEX 索引名 (字段名 (长度)[ASC|DESC])

ALTER TABLE 表名 DROP INDEX index_name

CREATE/DROP INDEX

CREATE UNIQUE INDEX indexName ON mytable(username(length))

#drop索引

ALTER TABLE testalter_tbl DROP INDEX c;

#drop主键

ALTER TABLE testalter_tbl DROP PRIMARY KEY;