创建与使用
创建与使用
ALTER TABLE appdb.orders ADD INDEX idx_month ((MONTH(created_at)));
EXPLAIN SELECT * FROM appdb.orders WHERE MONTH(created_at) = 10;
-- 注意:查询表达式需与索引表达式完全一致
ALTER TABLE appdb.events ADD INDEX idx_js ((CAST(data->>'$.type' AS CHAR(16))));| 原理 | 隐藏虚拟列 + 索引 |
|---|---|
| 匹配 | 表达式必须与查询完全相同 |
| JSON | 8.0.13+ 支持 JSON 路径表达式索引 |
函数索引削弱了索引可读性:能用改写查询(范围化)解决时优先改写。