示例
示例
-- 能走 B 树索引
SELECT * FROM orders WHERE created_at >= '2024-01-01' AND created_at < '2024-02-01';
SELECT * FROM users WHERE name LIKE 'wang%';
SELECT * FROM orders WHERE user_id = 100 ORDER BY created_at LIMIT 10;
-- 通常走不了(列被运算或前置通配)
SELECT * FROM orders WHERE YEAR(created_at) = 2024;
SELECT * FROM users WHERE name LIKE '%wang';| 支持 | =、>、>=、<、<=、BETWEEN、IN、ORDER BY、LIKE 前缀匹配 |
|---|---|
| 不支持 | 前置通配、列上函数或表达式(除非建函数索引)、类型隐式转换 |
| 两库一致 | MySQL 与 PostgreSQL 的 B 树行为大体相同,函数索引写法不同 |