加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 数据库 > MsSql > 正文

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

发布时间:2020-05-28 05:00:06 所属栏目:MsSql 来源:互联网
导读:出于好奇,我想知道在使用[=]与[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 li

出于好奇,我想知道在使用[=]与[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和=是可搜索的并且支持索引

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

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读