子查询与连接性能问题

dazhi9302 2009-10-13 11:33:21
string sql1 = "select d.sno,d.sdept from dept d where d.sno in (select s.sno from student s where s.sno!=1) ";
string sql2="select d.sno,d.sdept from dept d JOIN student s on s.sno=d.sno and s.sno!=1 ";
我用C#写查询语句查询数据库并检测性能,依照一般的说法,连接操作中如果匹配条数很少的话,用子查询代替连接性能会好很多,主要应该是时间上,但我测试以后发现二者差不多。student表中记录有3条,其sno值分别是1,2,3,dept表中记录有100000,其sno值大多数是1,有少量2,3。最终匹配结果只有6条,在这样的情况下计算的时间,二者依旧差不多,希望高手指教,谢谢~
...全文
86 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
dazhi9302 2009-10-13
  • 打赏
  • 举报
回复
补充下:列上均无索引,且每次测试均清楚缓存

25,985

社区成员

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

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