求助,mysql效率问题

qq_27497567 2015-11-10 11:09:29
现在有三张表 表A 表B 表 C
sql 1=A left join B
sql 2=B left A
两个都是返回list

我先执行sql1,得到一个list然后
for(Object o:list){
执行sql2,条件是o.getId();得到list2

然后 o.set(list2)
}

但是执行效率特别慢,求助优化方案。
说一下当时问什么不用 三表联合查询,因为 sql1 中的左连接 在一个 if条件判断中,有可能这个左连接不会生效,数据量也不大,但是线上 要将近十秒 数据才查询出来 ,求大牛
...全文
132 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
WYUZE 2015-11-12
  • 打赏
  • 举报
回复
表c是干什么???
番茄鲨鱼面 2015-11-11
  • 打赏
  • 举报
回复
表C都没有用到,你确定?
daiblo7 2015-11-11
  • 打赏
  • 举报
回复
不能那么写,sql语句要尽可能执行一次,然后再做处理
老李家的小二 2015-11-10
  • 打赏
  • 举报
回复
查询数据库频率太多了 在if中,按照条件先拼接好sql语句 最后执行一次数据库查询

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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