多表连接查询

ltzyclt 2014-04-27 03:29:13
table1(id,a)
table2(id,b)
a是对应table2 id的外键,我想查50个table1中的id以及他们外键对应在table2的b数据
是用多表连接查询快呢,还是先查table1得到50个a,再到table2中查询50次得到b快呢
...全文
162 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
發糞塗牆 2014-04-27
  • 打赏
  • 举报
回复
嗯,具体问题具体分析,这个太理论了,不好回复
ltzyclt 2014-04-27
  • 打赏
  • 举报
回复
引用 4 楼 DBA_Huangzj 的回复:
表数量过多的时候,就可能要考虑,因为优化器需要分析多种表关联顺序的算法,可能产生的可能结果有十几亿钟(12个表)。一般百万数据查询10~100条数据,索引合理、查询合理的话,秒杀是没问题的
其实我知道这个问题比较难回答,还是根据实际情况来吧
發糞塗牆 2014-04-27
  • 打赏
  • 举报
回复
表数量过多的时候,就可能要考虑,因为优化器需要分析多种表关联顺序的算法,可能产生的可能结果有十几亿钟(12个表)。一般百万数据查询10~100条数据,索引合理、查询合理的话,秒杀是没问题的
ltzyclt 2014-04-27
  • 打赏
  • 举报
回复
补充一下: 个人感觉和查询数据量有关,比如查询的不是50个,而是1~5个那肯定后者快,查询几千个肯定前者快,但50到底选择哪个呢(百万级数据量) 另外不一定是两个表,假设这样查询n条记录,m个表连接查询,这效率谁能根据n,m分类讨论一下么
發糞塗牆 2014-04-27
  • 打赏
  • 举报
回复
两个表的多表连接查询,性能问题不会很慢,简单优化一下即可,这个不用太担心
發糞塗牆 2014-04-27
  • 打赏
  • 举报
回复
根据你的说法,只有多表连接查询才能得到你要的数据,这个跟性能无关

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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