| 用途 | 集合与模糊匹配 |
|---|---|
| IN | 等值集合,N 不宜过大 |
| LIKE | 前缀匹配 'abc%' 可用索引 |
用法示例
用法示例
SELECT * FROM users WHERE id IN (1,2,3);
SELECT * FROM orders WHERE order_no LIKE 'ORD2026%';
SELECT * FROM products WHERE name LIKE '%phone%'; -- 无法用索引大集合替代方案
大集合替代方案
-- 上千个 id 时临时表/JOIN 更稳
CREATE TEMPORARY TABLE tmp_ids (id BIGINT PRIMARY KEY);
INSERT INTO tmp_ids VALUES (1),(2),(3);
SELECT u.* FROM users u JOIN tmp_ids t USING(id);LIKE '%x%' 与 NOT LIKE 都是全表扫描;正则、多关键词搜索建议上 FULLTEXT 索引或外部检索引擎。