一、什么是索引
索引被用来快速找出在一个列上用一特定值的行。没有索引,MySQL不得不首先以第一条记录开始,然后读完整个表直到它找出相关的行。表越大,花费时间越多。对于一个有序字段,可以运用二分查找(Binary Search),这就是为什么性能能得到本质上的提高。MYISAM和INNODB都是用B+Tree作为索引结构。
索引等同于一本书的目录
主键会自动添加索引,所以尽量根据主键查询效率较高。
(主键,unique 都会默认的添加索引)
二、索引的使用场景
1、表中该字段中的数据量庞大
2、经常被检索,经常出现在where子句中的字段
3、经常被DML操作的字段不建议添加索引
三、索引的2种语句创建形式
1、CREATE UNIQUE INDEX index_name ON table_name(column_name);
2、ALTER TABLE table_name ADD UNIQUE INDEX index_name (column_name);
四、查看一个表的索引
SHOW INDEX FROM table_name;
五、删除一个表的索引
1、DROP INDEX index_name ON talbe_name;
2、ALTER TABLE table_name DROP INDEX index_name