一、索引概述
1.1 什么是索引
索引是帮助 MySQL 高效获取数据的数据结构。可以类比为书籍的目录,通过目录可以快速定位到想要的内容,而不需要从头到尾翻阅整本书。
1.2 没有索引的查询
-- 假设 users 表有 1000 万行数据,没有索引
SELECT * FROM users WHERE username = 'john';
-- 执行过程:全表扫描
-- 从第 1 行开始,逐行比较 username 是否等于 'john'
-- 最坏情况需要扫描 1000 万行
-- 时间复杂度:O(n)