当前位置: 代码迷 >> 高性能数据库开发 >> sql话语效率低
  详细解决方案

sql话语效率低

热度:3970   发布时间:2013-02-26 00:00:00.0
sql语句效率低

update MyWork_MailHolder set MyWork_MailHolder.SourceFolderID='1',
MyWork_MailHolder.FolderID=4,MyWork_MailHolder.InfoID=a.SelfField 
FROM MyWork_MailInfo a where 
MyWork_MailHolder.FolderID='1'
and MyWork_MailHolder.PersonnelID='5188AECE-417E-4E49-9DA1-C2E9C73DF9E2'
and MyWork_MailHolder.InfoID=a.SelfField
and isnull(MyWork_MailHolder.InfoID,'')
in('a','a','这里是一个有600多个ID的');

执行这个需要三十几秒的时间
二把isnull(MyWork_MailHolder.InfoID,'')
in('a','a','这里是一个有600多个ID的');改成MyWork_MailHolder.InfoID in('a','a','这里是一个有600多个ID的');
只需要不到一秒的时间就搞定,,为什么 相差这么大。求原因。。。。

in('a','a','这里是一个有600多个ID的');如果没有600多个ID,只有几个的话 查询也很快得。为什么,求原因
------解决方案--------------------------------------------------------
建议用join  连接 比较快..
  相关解决方案