什么是索引?
索引是一种能帮助 MySQL 提高查询效率的数据结构。
索引分别有哪些优点和缺点?
索引的优点如下:
- 快速访问数据表中的特定信息,提高检索速度。
- 创建唯一性索引,保证数据表中每一行数据的唯一性。
- 加速表与表之间的连接。
- 使用分组和排序进行数据检索时,可以显著减少查询中分组和排序的时间。
索引的缺点:
- 虽然提高了的查询速度,但却降低了更新表的速度,比如 update、insert,因为更新数据时,MySQL 不仅要更新数据,还要更新索引文件;
- 建立索引会占用磁盘文件的索引文件。
使用索引注意事项:
- 使用短索引,短索引不仅可以提高查询速度,更能节省磁盘空间和 I/O 操作;
- 索引列排序,MySQL 查询只使用一个索引,因此如果 where 子句中已经使用了索引的话,那么 order by 中的列是不会使用索引的,因此数据库默认排序可以符合要求的情况下,不要进行排序操作;尽量不要包含多个列的排序,如果需要最好给这些列创建复合索引;
- like 语句操作,一般情况下不鼓励使用 like 操作,如果非使用不可, 注意 like "%aaa%" 不会使用索引,而like "aaa%"可以使用索引;
- 不要在列上进行运算;
- 不适用 NOT IN 和 <> 操作。