2011-10-25 38 views
1

我在我的應用程序中使用SqlserverCe精簡版。 我在查詢中使用左連接。 Sqlce需要更多的時間來執行。下面 是代碼SqlServerCe精簡版中的查詢優化

SELECT calllog.consolename AS consolename, 
     COUNT(consolename) AS totalcalls, 
     sub.cnt    AS emergencycalls 
FROM calllog 
     LEFT JOIN (SELECT consolename, 
         COUNT(*) AS cnt 
        FROM calllog 
        WHERE emergencycall = 'False' 
         AND (begintime >= '3/6/2011 10:52:39 AM' 
           AND endtime <= '10/25/2011 6:52:39 PM') 
        GROUP BY consolename) AS sub 
     ON calllog.consolename = sub.consolename 
WHERE (begintime >= '3/6/2011 10:52:39 AM' 
     AND endtime <= '10/25/2011 6:52:39 PM') 
GROUP BY calllog.consolename, 
      sub.cnt 
ORDER BY totalcalls ASC 

請幫助我,我怎麼能避免complexty

回答

0

確保您擁有的BeginTime,結束時間,EmergencyCall指數等

+0

我沒有任何列索引。在這種情況下,索引會提高性能 – Ram

+0

是的。索引提高了性能。沒有它們,SQL必須查看每一行來決定是否包含它。 –