SQL效率 – [=] vs [in] vs [like] vs [matches]

前端之家收集整理的这篇文章主要介绍了SQL效率 – [=] vs [in] vs [like] vs [matches]前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
出于好奇,我想知道在使用[=]与[in]与[like]与[matches](仅为1值)语法的sql中是否存在任何速度/效率差异.
select field from table where field = value;

select field from table where field in (value);

select field from table where field like value;

select field from table where field matches value;

解决方法

我将添加到也存在和子查询.

性能取决于给定sql引擎的优化器.

在oracle中,IN和EXISTS之间存在很多差异,但不一定在sql Server中.

您必须考虑的另一件事是您使用的列的选择性.有些案例表明IN更好.

但是你必须记住IN是非sargable(非搜索参数能够)所以它不会使用索引来解析查询,LIKE和=是可搜索的并且支持索引

最好的 ?你应该花一些时间在你的环境中测试它

猜你在找的MsSQL相关文章