如内的一条SQL语句的Where部分如何修改以提高查询效率
SELECT   DISTINCT   C.MG_TYPE   AS   类别,   A.CODENO   AS   代号,C.NAME   AS   名称   ,C.MG_GUIGE   AS   规格,A.TNUM   AS   数量,C.REMARK   AS   备注 
 	FROM   @TEMPBOM   A	 
 		JOIN   DBOM   B   ON   B.ID   =   A.ID 
 		JOIN   PAPITEM   C   ON   C.ID   =   A.ITEMID      AND   C.MTYPE   = '外购件 ' 
 WHERE   A.ITEMID   NOT   IN 
 	(SELECT   DISTINCT   ITEMID   FROM   DBOM   F 
 		JOIN   PAPITEM   G   ON   G.MTYPE= '外购件 '   AND   F.ITEMID=G.ID 
 	WHERE   F.BOMSTR   NOT   IN   (SELECT   BOMSTR   FROM   @TEMPBOM)) 
 ORDER   BY   A.CODENO
------解决方案--------------------SELECT DISTINCT C.MG_TYPE AS 类别, A.CODENO AS 代号,C.NAME AS 名称 ,C.MG_GUIGE AS 规格,A.TNUM AS 数量,C.REMARK AS 备注 
 	FROM @TEMPBOM A	 
 		JOIN DBOM B ON B.ID = A.ID 
 		JOIN PAPITEM C ON C.ID = A.ITEMID  AND C.MTYPE = '外购件 ' 
 WHERE A.ITEMID NOT IN 
 	(SELECT DISTINCT ITEMID FROM (select * from DBOM WHERE BOMSTR NOT IN   (SELECT BOMSTR FROM @TEMPBOM)) F 
 		JOIN (select * from PAPITEM where MTYPE= '外购件 ') G 
 ON   F.ITEMID=G.ID  	 
 ORDER BY A.CODENO
------解决方案--------------------在企业管理器—选项—高级—设置登陆时间(默认是4秒或15秒),问一下楼主用的什么版本?如时2000有没有装SP4
------解决方案--------------------SELECT DISTINCT  
        C.MG_TYPE AS 类别,  
        A.CODENO AS 代号, 
        C.NAME AS 名称 , 
        C.MG_GUIGE AS 规格, 
        A.TNUM AS 数量, 
        C.REMARK AS 备注 
 FROM @TEMPBOM A	JOIN DBOM B ON B.ID = A.ID 
 		JOIN PAPITEM C ON C.ID = A.ITEMID  AND C.MTYPE = '外购件 ' 
 WHERE NOT EXISTS(SELECT *  
                  FROM DBOM F JOIN PAPITEM G ON G.MTYPE= '外购件 ' AND F.ITEMID=G.ID 
 	         WHERE NOT EXISTS (SELECT BOMSTR FROM @TEMPBOM WHERE BOMSTR = F.BOMSTR) 
                    AND F.ITEMID = A.ITEMID) 
 ORDER BY A.CODENO 
 最好用执行计划分析一下,找出问题!
------解决方案--------------------  SELECT DISTINCT C.MG_TYPE AS 类别, A.CODENO AS 代号,C.NAME AS 名称 ,C.MG_GUIGE AS 规格,A.TNUM AS 数量,C.REMARK AS 备注 
 FROM @TEMPBOM A 
 JOIN DBOM B ON B.ID = A.ID 
 JOIN PAPITEM C ON C.ID = A.ITEMID  AND C.MTYPE = '外购件 '  
 where not exists( 
 select 1 from 
 ( SELECT ITEMID  
   FROM DBOM F 
       JOIN PAPITEM G ON G.MTYPE= '外购件 ' AND F.ITEMID=G.ID 
   where not exists(select 1 from @TEMPBOM where F.BOMSTR=BOMSTR)) T 
 where T.ITEMID =A.ITEMID 
 ) 
 ORDER BY A.CODENO