示例
示例
-- idx_user_created (user_id, created_at)
SELECT id, total
FROM orders
WHERE user_id = 100
ORDER BY created_at DESC
LIMIT 10;
-- TREE 输出中按索引反向取数(无 Sort 节点):
-- Index lookup on orders using idx_user_created (user_id=100) (reverse)
-- 无法利用索引(排序键与索引顺序不一致)
SELECT id FROM orders ORDER BY total DESC LIMIT 10;| 方向 | ORDER BY 的列序列需与索引一致;MySQL 8.0 混向排序需降序索引支持 |
|---|---|
| LIMIT 收益 | 按序扫描配合 LIMIT 只需读少量行,避免全量排序 |
| 两库差异 | PostgreSQL 可反向扫描索引;需精确匹配排序方向与 NULLS 顺序时要对应定义索引 |