多表JOIN优化问题

hiller1 2015-02-26 03:37:45
SELECT u.* FROM user u
LEFT JOIN user_data ud ON (u.user_id = ud.user_id)
LEFT JOIN account a1 ON (u.user_id = a1.user_id AND a1.acc_sx = 1)
LEFT JOIN account a2 ON (u.user_id = a2.user_id AND a2.acc_sx = 2)
WHERE u.user_id=9;

请问这条SQL,如何优化?谢谢。
...全文
343 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ACMAIN_CHM 2015-02-28
  • 打赏
  • 举报
回复
create index xxx1 on user(user_id); create index xxx2 on user_data(user_id); create index xxx3 on account(user_id,acc_sx);
码无边 2015-02-27
  • 打赏
  • 举报
回复
explain sql 关键字段加索引
Rotel-刘志东 2015-02-27
  • 打赏
  • 举报
回复
分拆语句是比较好的一个方法。mysql真的不擅长复杂查询
hiller1 2015-02-26
  • 打赏
  • 举报
回复
我是想拆语句,拆分成单条SQL,然后用临时表关联查询。
Rotel-刘志东 2015-02-26
  • 打赏
  • 举报
回复
可以建立联合索引(user_id,acc_sx)
zhanghua1254333 2015-02-26
  • 打赏
  • 举报
回复
简单,你这个可我qq我详细告诉你怎么弄,418529367
benluobo 2015-02-26
  • 打赏
  • 举报
回复
在连接字段上建立索引

56,679

社区成员

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

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