我知道有一個更好的方法來完成我要在這裏完成的任務。雖然查詢起作用,但我擔心它會隨着數據集應用於增長而受到影響。性能調整tSQL查詢計數(*)和子查詢
我甚至不需要有人重寫我所擁有的東西,如果他們只是願意指出我應該研究的主題的方向,我將不勝感激。
我試圖返回與此查詢是一個或以上的某些狀態的記錄數的計數。
在此先感謝您的幫助!
SELECT (SELECT count(*) FROM TABLE1 c1 WHERE ( c1.U_KEY3 NOT LIKE 'z%' AND (c1.U_KEY1 = '' or c1.U_KEY1 IS NULL) ) ) AS 'STATUS is EMPTY' , (SELECT count(*) FROM TABLE1 c1 WHERE (c1.U_KEY3 NOT LIKE 'z%' AND LEFT(c1.U_KEY1,2) >= '70') ) AS 'STATUS > 70' , (SELECT count(*) FROM TABLE1 c1 WHERE (c1.U_KEY3 NOT LIKE 'z%' AND LEFT(c1.U_KEY1,2) >= '50') ) AS 'STATUS > 50' , (SELECT count(*) FROM TABLE1 c1 WHERE (c1.U_KEY3 NOT LIKE 'z%' AND LEFT(c1.U_KEY1,2) >= '30') ) AS 'STATUS > 30' , (SELECT count(*) FROM TABLE1 c1 WHERE (c1.U_KEY3 NOT LIKE 'z%' AND LEFT(c1.U_KEY1,2) >= '10') ) AS 'STATUS > 10'
你對'TABLE1'任何指標?查詢的運行速度可能比您想象的要快。 –
表中有多少行?你有嘗試過使用JOIN而不是子查詢嗎? – FLICKER
@Tim U_KEY字段被索引。目前表中只有1200行,運行良好,但有可能增長到100,000。 –