前置通配符的 WHERE 条件,真的是 SQL 性能的噩梦啊,是在 ORACLE 里,一不小心就全表扫描。你看LIKE '9204421'这种写法,虽然方便,但索引压根用不上,查询速度直接拉垮。

用过 ORACLE 的你也踩过这坑。其实只要把通配符往后挪点,比如LIKE '109204421%',性能就能提上来不少。毕竟索引是靠前缀查找的,开头模糊它就懵了,哪还优化得动?

我还专门翻了几篇不错的文章,讲得都挺细,像这篇就直白,顺手还列了常见误区和替代方案。还有这一篇,讲了些全表扫描啥时候是合理的,别一味追求索引。

嗯,如果你在做 SQL 调优,或者你写的查询总是慢得离谱,蛮建议你把前置通配符这块先排查下,挺容易被忽略的,但优化效果还挺。