当前位置: 代码迷 >> Sql Server >> 查询中摘引外库会影响效率吗
  详细解决方案

查询中摘引外库会影响效率吗

热度:87   发布时间:2016-04-24 23:07:09.0
查询中引用外库会影响效率吗
查询中引用外库会影响效率吗

比如
 
 SELECT MENUCODE, MENUNAME, FATHERMENU, ISMENU, WINDOWNAME
 FROM SystemInfo..Info_MenuInfo WHERE VESTSYSTEM = 'LOANWEB' and ISVISIBLE = 1 
 AND ISMENU = 1 and MENUCODE IN (SELECT MENUCODE FROM SystemInfo..Info_MenuStaff 
 WHERE VESTSYSTEM = 'LOANWEB' and HR_NO = @HR_No) 

------解决方案--------------------
肯定会啊
------解决方案--------------------
 --会影响的,建议楼主语句改为exists
 SELECT MENUCODE, MENUNAME, FATHERMENU, ISMENU, WINDOWNAME
 FROM SystemInfo..Info_MenuInfo t1
 WHERE VESTSYSTEM = 'LOANWEB' and ISVISIBLE = 1 
 AND ISMENU = 1 and exists(SELECT top 1 FROM SystemInfo..Info_MenuStaff 
 WHERE MENUCODE=t1.MENUCODE and VESTSYSTEM = 'LOANWEB' and HR_NO = @HR_No)
------解决方案--------------------
引用外库需要做更多的权限检查,并且由于本库没有外库数据的统计信息,所以生成的执行计划往往都不够本库内查询的好。
------解决方案--------------------
项目大了 总不能还是一个库吧
------解决方案--------------------
in 可以用关联代替
  相关解决方案