索引(Index)是帮助MySQL高效获取数据的数据结构。
索引就是数据结构,排好序的快速查找数据结构。
2.索引怎么分类?
①单值索引
概念:即一个索引只包含单个列,一个表可以有多个单列索引。
②唯一索引
概念:索引列的值必须唯一,但允许有空值。
③主键索引
概念:设定为主键后数据库会自动建立索引,innodb为聚簇索引。
④复合索引
概念:即一个索引包含多个列。
3.索引的创建、查看、删除
操作 |
命令 |
创建 |
CREATE [UNIQUE ] INDEX [indexName] ON table_name(column)) |
删除 |
DROP INDEX [indexName] ON mytable; |
查看 |
SHOW INDEX FROM table_name\G |
使用Alter命令 |
ALTER TABLE tbl_name ADD PRIMARY KEY (column_list) : 该语句添加一个主键,这意味着索引值必须是唯一的,且不能为NULL。 |
ALTER TABLE tbl_name ADD PRIMARY KEY (column_list) |
|
ALTER TABLE tbl_name ADD INDEX index_name (column_list): 添加普通索引,索引值可出现多次。 |
|
ALTER TABLE tbl_name ADD FULLTEXT index_name (column_list):该语句指定了索引为 FULLTEXT ,用于全文索引。 |
4.索引的创建时机
5.explain性能分析
使用EXPLAIN关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句的。分析你的查询语句或是表结构的性能瓶颈。
用法: Explain+SQL语句。
6.索引有效的原则
①全值匹配我最爱;
②最佳左前缀法则。
原文:https://www.cnblogs.com/beihang09/p/14105395.html