求高效查询SQL

zx8813443 2011-07-14 07:57:22
目前系统中有一张表,要查出来在页面显示,但是表中有很多保存的是ID,需要关联其他表查出具体的值显示在页面中
这样的字段很多,现在用这种方式查询:



select h.a, h.b,
(select hh.mc from table2 hh where hh.id = h.id) h.c, --类似这种子查询很多,如果数据少的话还可以,多了就不行了
...
from table1 h


这样的查询方式, 和把 关联的表都放在一起查询(如下),效率上有差别么?

select h.a, h.b, h.c, ...
from table1 h ,table2 hh,...
where h.id = hh.id


求高效的查询语句。。。
...全文
57 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
AcHerat 2011-07-14
  • 打赏
  • 举报
回复
建议用你的第二种去写,第一种子查询会按外部的记录数来进行表扫描,不论有没索引,表扫描走的次数比第二种多。
秋雨飘落 2011-07-14
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 zftang 的回复:]
select h.a, h.b, h.c, ...
from table1 h ,table2 hh,...
where h.id = hh.id

------这种效率最高了。
[/Quote]

在这个基础上,根据表数据量和条件过滤的数据量,调整表顺序和条件顺序,进行优化了。
秋雨飘落 2011-07-14
  • 打赏
  • 举报
回复
select h.a, h.b, h.c, ...
from table1 h ,table2 hh,...
where h.id = hh.id

------这种效率最高了。

17,078

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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