一、什么是索引
索引时一种特殊的数据结构,类似于图书的目录,它能够极大地提升数据库的查询效率。如果没有索引,在查询数据时必须扫描表中的所有记录才能找出符合条件的记录,这种全表扫描的查询效率非常低。
数据库的索引好比一本书的目录,能够加快数据库的查询速度;
索引是快速搜索的关键,如果不加索引,查找任何一条特定的数据都会进行一次全表扫描。
二、常见的索引种类
索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可以快速访问数据库表中的特定记录。
三、索引使用
1.创建索引
# 创建普通索引 CREATE INDEX indexName ON tableName(columnName(length)) # 创建唯一索引 CREATE UNIQUE INDEX indexName ON tableName(columnName(length)) # 创建复合索引 CREATE INDEX indexName ON tableName(columnName1,columnName2,...)
2.删除索引
DROP INDEX [indexName] ON tableName;
3. 查看索引
SHOW INDEX FROM tableName
四、实战经验
- 选择区分度高的列建立索引,区分度计算公式:count(distinct col)/count(*),区分度表示字段内容不重复的比例;
- 每次查询每张表仅能使用一个索引;
- 避免对索引列进行计算