面试题答案
一键面试- 创建索引:
CREATE INDEX idx_name_age ON users (name, age);
- 工作原理:
- 联合索引
idx_name_age
会按照name
和age
的顺序存储数据。首先按照name
进行排序,如果name
相同,再按照age
排序。 - 当执行根据
name
和age
联合查询的SQL语句时,例如SELECT * FROM users WHERE name = '某姓名' AND age = 某年龄;
,MySQL可以利用这个索引快速定位到满足条件的数据行。它先在索引中找到name
匹配的记录范围,然后在这个范围内再找到age
匹配的具体记录,这样就避免了全表扫描,大大提高了查询性能。
- 联合索引