关于查询效率问题(高手进)

kingtiy 2006-07-03 03:03:15
select T from A where exists(
select * from B where A.a=B.a)
如果A,B表里面的数据非常多,上亿条
有没有更好点的查询方法来提高下效率
谢谢
...全文
137 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
fcuandy 2006-07-03
  • 打赏
  • 举报
回复
exist后跟子查询,也就是说在低层操作时,每检索一条记录都要去执行一次子查询.效率可以想像了.
kingtiy 2006-07-03
  • 打赏
  • 举报
回复
就是说用内连接的效率要高些是吧
哪位GGJJ能不能帮小弟解释下这里说的SQL语句执行的过程吗?
使用EXISTS 和连接,之间哪个效率更好些?
crazyzcl 2006-07-03
  • 打赏
  • 举报
回复
select a.T from A a, B b where A.a=B.a
wangdehao 2006-07-03
  • 打赏
  • 举报
回复
这种情况下,用inner join 更加有效率
fcuandy 2006-07-03
  • 打赏
  • 举报
回复
SELECT T FROM A INNER JOIN B ON A.a=B.a

上亿条的话,估计以我们的硬件条件,就不要用MSSQL了。
zlp321002 2006-07-03
  • 打赏
  • 举报
回复
为什么不这么写?

select a.T from a,b where A.a=B.b
LouisXIV 2006-07-03
  • 打赏
  • 举报
回复
select T from A where exists(
select * from B where A.a=B.a)
如果A,B表里面的数据非常多,上亿条
有没有更好点的查询方法来提高下效率
谢谢
----------------------

相关子查询效率很低,更何况你还用了select * ...

select A.T from A inner join B on A.a=B.a

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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