索引是帮助MySQL高效获取数据的数据结构。查看索引可以使用SHOW INDEX
或EXPLAIN
语句。
索引就像书的目录一样,当要查找书中的内容时,首先查看目录,通过目录可以快速定位内容的位置。
MySQL索引的工作方式也是一样的。当SQL语句执行查询时,优化器会先判断是否使用索引,如果决定使用索引,就在索引中查找相应的记录,然后直接通过索引中的指针获取数据,避免了全表扫描。
MySQL支持多种索引类型来优化不同的查询场景:
#创建索引
CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name
ON table_name(column_list);
#删除索引
DROP INDEX index_name ON table_name;
#查看索引
SHOW INDEX FROM table_name;
理解并合理使用索引,可以让MySQL数据库发挥最佳性能。同时也需要平衡索引的优劣势,避免 indexes 的过度使用。