MySQL 只能用一个索引的说法并不准确。实际上,MySQL 在执行查询时可以使用多个索引,但这取决于查询的具体情况和优化器的决策。
这种误解可能源于以下情况:
EXPLAIN
语句分析查询计划,了解优化器是如何使用索引的。假设有一个包含 id
、name
和 age
列的 users
表,以下是一些创建和使用索引的示例:
-- 创建单索引
CREATE INDEX idx_name ON users(name);
-- 创建复合索引
CREATE INDEX idx_name_age ON users(name, age);
-- 查询示例
SELECT * FROM users WHERE name = 'John' AND age = 30;
在这个查询中,如果 idx_name_age
复合索引存在,MySQL 可能会使用它来快速定位到满足条件的记录。
云+社区技术沙龙[第17期]
云+社区沙龙online [国产数据库]
小程序·云开发官方直播课(数据库方向)
云+社区沙龙online [国产数据库]
Elastic 中国开发者大会
Elastic 实战工作坊
Elastic 实战工作坊
DB-TALK 技术分享会
云+社区沙龙online[数据工匠]
云+社区技术沙龙[第20期]
云+社区沙龙online [技术应变力]