精通sql优化的进,怎么把这条语句从in变成exist.
时间:2011-09-06
来源:互联网
执行计划就不写了,索引该建的都建了,我的问题主要是如果把这个In语句改成exist,这个有点复杂,不会。
先谢谢各位高手了。
SELECT up.userid, up.realname, up.mobilephone, up.homephone
from user_profile as up
where up.userid in (select user_id
from ecs_order_info
where pay_status = 2
and shipping_status > 0
and extension_id = 0
union
select user_id
from ecs_order_info_history
where pay_status = 2
and shipping_status > 0
and extension_id = 0
GROUP BY user_id)
[ 本帖最后由 wushi8 于 2011-9-6 11:30 编辑 ]
先谢谢各位高手了。
SELECT up.userid, up.realname, up.mobilephone, up.homephone
from user_profile as up
where up.userid in (select user_id
from ecs_order_info
where pay_status = 2
and shipping_status > 0
and extension_id = 0
union
select user_id
from ecs_order_info_history
where pay_status = 2
and shipping_status > 0
and extension_id = 0
GROUP BY user_id)
[ 本帖最后由 wushi8 于 2011-9-6 11:30 编辑 ]
作者: wushi8 发布时间: 2011-09-06
SELECT UP.userid,
UP.realname,
UP.mobilephone,
UP.homephone
FROM user_profile UP
WHERE EXISTS
(SELECT 'x'
FROM (SELECT user_id
FROM ecs_order_info
WHERE pay_status = 2
AND shipping_status > 0
AND extension_id = 0
UNION
SELECT user_id
FROM ecs_order_info_history
WHERE pay_status = 2
AND shipping_status > 0
AND extension_id = 0
GROUP BY user_id) t1
WHERE UP.userid = t1.userid);
UP.realname,
UP.mobilephone,
UP.homephone
FROM user_profile UP
WHERE EXISTS
(SELECT 'x'
FROM (SELECT user_id
FROM ecs_order_info
WHERE pay_status = 2
AND shipping_status > 0
AND extension_id = 0
UNION
SELECT user_id
FROM ecs_order_info_history
WHERE pay_status = 2
AND shipping_status > 0
AND extension_id = 0
GROUP BY user_id) t1
WHERE UP.userid = t1.userid);
作者: weiranth 发布时间: 2011-09-06
你这地方的group by没有意义
作者: 棉花糖ONE 发布时间: 2011-09-06
这和精不精通sql优化貌似没关系
作者: highnice 发布时间: 2011-09-06
非要转换成exsits么。
作者: Coast_lichao 发布时间: 2011-09-07
确实 group by 没必要,为啥ecs_order_info不用group by呢。
要么来个distinct试试
exsits还是有必要的,这样速度会快一些。
要么来个distinct试试
exsits还是有必要的,这样速度会快一些。
作者: happy8650 发布时间: 2011-09-07
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28