请问带in 和 子查询的sql语句怎么进行优化?

PandaIT 2015-11-02 09:16:53
UPDATE user_bank_info set fisused = 2 where fuserid in (
SELECT userid FROM (
select DISTINCT ubi.fuserid as userid from customer as c JOIN user_bank_info as ubi ON c.fuserid =ubi.fuserid
where ubi.faccountname <> c.fusername) as c)


数据库存的是百万级别的,请问怎么进行优化?
...全文
281 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ACMAIN_CHM 2015-11-02
  • 打赏
  • 举报
回复
以文本方式贴出 explain select DISTINCT ubi.fuserid as userid from customer as c JOIN user_bank_info as ubi ON c.fuserid =ubi.fuserid where ubi.faccountname <> c.fusername 另外及所有表的 shoe index from
Rotel-刘志东 2015-11-02
  • 打赏
  • 举报
回复
优化子查询 select ubi.userid as userid from customer as c JOIN user_bank_info as ubi ON c.fuserid =ubi.fuserid where ubi.userid in(select 1 from user_bank_info as ubi where ubi.userid=c.fuserid )and ubi.faccountname<>c.fusername
LongRui888 2015-11-02
  • 打赏
  • 举报
回复
尽量把语句改成join的把,这样方便优化器生成更好的执行计划

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧