SQL查询中用什么方法可以提高in的效率 或者换成什么

select*fromuserwhereuser_idin("23232","32321","321321","32334”);用什么方法可以提高查询的速度... select * from user where user_id in("23232","32321","321321","32334”);用什么方法可以提高查询的速度 展开
 我来答
twvampire
2015-02-10 · TA获得超过3620个赞
知道大有可为答主
回答量:3029
采纳率:76%
帮助的人:2961万
展开全部
你这涉及到union all,or 和in 及索引字段的,,,,

1、对于索引列来最好使用union all,因复杂的查询【包含运算等】将使or、in放弃索引而全表扫描,除非你能确定or、in会使用索引。

2、对于只有非索引字段来说你就老老实实的用or 或者in,因为 非索引字段本来要全表扫描而union all 只成倍增加表扫描的次数。

3、对于及有索引字段【索引字段有效】又包含非索引字段来时,按理你也使用or 、in或者union all 都可以,但是我推荐使用or、in。

上面都说的是单表的情况,所以你这个问题你给出语句信息,
并不能简单的说谁比in快的,,,,要看索引字段情况的
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式