下面的语句怎样写效率更高
最爱午夜 2014-07-10 09:38:11 UPDATE j
SET j.Price=(SELECT TOP 1 ISNULL(m.Price,0) FROM i
INNER JOIN g ON g.CID=i.CID
INNER JOIN m ON m.CID IN
(
SELECT * FROM fun_split(ISNULL(g.FullCIDPath,''),'\')
)
INNER JOIN g2 ON g2.CID=m.CID
WHERE i.cname =j.cname AND (m.stid=j.stid OR ISNULL(m.stid,-1)=-1)
AND (m.spfid=2 OR ISNULL(m.spfid,-1)=-1)
ORDER BY g2.clevel DESC,ISNULL(m.stid,-1) desc,ISNULL(m.spfid,-1))
FROM j
WHERE j.price =0
假设CID有三级,例如FullCIDPath为 1\10\100
1、10、100分别代表第一、二、三级的CID,
上面的这种写法效率有点低,怎样写效率高?