1. -- 索引的使用
  2. -- 1.在创建表的时候给字段增加索引
  3. -- 2.创建完毕后,增加索引
  4. SHOW INDEX FROM account; -- 显示所有的索引信息
  5. ALTER TABLE account ADD FULLTEXT INDEX username(username);-- 增加一个全文索引
  6. -- explain分析sql执行的状况
  7. EXPLAIN SELECT * FROM account;
  8. EXPLAIN SELECT * FROM account WHERE MATCH(username) AGAINST('A');
  9. -- CREATE INDEX 索引名 ON 表(字段);
  10. 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也支持了全文索引**。