咨询一下SQL select b.* from ABC a,DEF b where a.OptionID=b.OptionID and a.SubjectCode in (***************) 上面的*************** 是一个子查询。 当我把select b.* 替换成select distict b.* 就会出现查询超时请大家帮助看看是什么原因! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 select b.* from ABC a,DEF b where a.OptionID=b.OptionID and a.SubjectCode in (select SubjectCode as 列名 from 表名) 当我把select b.* 替换成select distict b.* 就会出现查询超时?查看執行計劃 IN的实质就是无数个=,中间用OR连接起来比如IN (1,2,3)实质上就是=1 or =2 or =3,效率自然不高这样相当于对字段多条件,进行了全表扫描,效率低楼主可考虑使用JOIN连接. select b.* from ABC a,DEF b , (***************) cwhere a.OptionID=b.OptionID and a.SubjectCode = c.SubjectCode excel导入数据问题 用视图,如何得到以下结果. 请教一周统计语句。 在执行批处理时出现错误。错误消息为:文件存在 服务器为2008客户端能用2005远程连接吗? 问个弱弱的问题 SQL数据库发布订阅问题 sql server2000 将表导出 以下情况如何写触发器? 请问sqlserver高手们这是怎么回事啊? 求助 sqlserver 用什么代替 !=
and a.SubjectCode in (select SubjectCode as 列名 from 表名)
查看執行計劃
比如IN (1,2,3)实质上就是=1 or =2 or =3,效率自然不高
这样相当于对字段多条件,进行了全表扫描,效率低
楼主可考虑使用JOIN连接.
where a.OptionID=b.OptionID and a.SubjectCode = c.SubjectCode