表连接查询where性能的问题

火星大能猫 2015-08-19 11:03:56

SELECT * FROM TBA ta LEFT JOIN TBB tr ON tr.APPID = ta.ID
LEFT JOIN THBC tp ON tr.TypeId=tp.TypeID
WHERE ta.id=1



SELECT * from (SELECT * FROM tba WHERE ID=1)ta LEFT JOIN tbb tr ON tr.APPID = ta.ID
LEFT JOIN tbc tp ON tr.TypeId=tp.TypeID


那种查询性能会更高?
还是都一样?
...全文
118 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
卖水果的net 2015-08-19
  • 打赏
  • 举报
回复
两个语句的执行计划是一样的,一个是自己把 where 放前面了,一个放后面了。数据库引擎会自行调整的。
LongRui888 2015-08-19
  • 打赏
  • 举报
回复
你可以用 explain来显示一下执行计划: explain SELECT * FROM TBA ta LEFT JOIN TBB tr ON tr.APPID = ta.ID LEFT JOIN THBC tp ON tr.TypeId=tp.TypeID WHERE ta.id=1 ,或者直接在系统中运行一下,看看耗时多久,比较一下。
benluobo 2015-08-19
  • 打赏
  • 举报
回复
一样的 可以通过explain查看查询计划

56,687

社区成员

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

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