查询中引用外库会影响效率吗
查询中引用外库会影响效率吗
比如
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 可以用关联代替