-- 索引的使用-- 1.在创建表的时候给字段增加索引-- 2.创建完毕后,增加索引SHOW INDEX FROM account; -- 显示所有的索引信息ALTER TABLE account ADD FULLTEXT INDEX username(username);-- 增加一个全文索引-- explain分析sql执行的状况EXPLAIN SELECT * FROM account;EXPLAIN SELECT * FROM account WHERE MATCH(username) AGAINST('A');-- CREATE INDEX 索引名 ON 表(字段);CREATE INDEX usernamee ON account(username);
📜 主键索引(Primary Key)
数据表的主键列使用的就是主键索引。
一张数据表有只能有一个主键,并且主键不能为null,不能重复。
InnoDB引擎对未显式定义主键如何处理
InnoDB会自动先检查表中是否有唯一索引的字段,如果有,则选择该字段为默认的主键,否则InnoDB将会自动创建一个6Byte的自增主键。
📜 二级索引(辅助索引)
二级索引又称为辅助索引,是因为二级索引的叶子节点存储的数据是主键。
也就是说,通过二级索引,可以定位主键的位置。
唯一索引,普通索引,前缀索引等索引属于二级索引。
✅ 唯一索引(Unique Key) :
唯一索引也是一种约束。
唯一索引的属性列不能出现重复的数据,但是允许数据为NULL,
一张表允许创建多个唯一索引,
建立唯一索引的目的大部分时候都是为了该属性列的数据的唯一性,而不是为了查询效率。
✅ 普通索引(Index) :
普通索引的唯一作用就是为了快速查询数据,一张表允许创建多个普通索引,并允许数据重复和NULL。
✅ 前缀索引(Prefix) :
前缀索引只适用于字符串类型的数据。前缀索引是对文本的前几个字符创建索引,相比普通索引建立的数据更小, 因为只取前几个字符。
✅ 全文索引(Full Text) :
全文索引主要是为了检索大文本数据中的关键字的信息,是目前搜索引擎数据库使用的一种技术。Mysql5.6之前只有MYISAM引擎支持全文索引,5.6之后InnoDB也支持了全文索引**。
