UNIONALL需要更多時間,下面是查詢的示例。如下表T1所示,只有4條記錄,但在我的查詢中,T1有近150萬條記錄。 有什麼辦法可以調整下面的查詢方式,而不是使用unionall我們可以使用任何條件。謝謝!UNIONALL性能
CREATE TABLE T1 (ID INT, FROM_KEY INT,TO_KEY INT, IS_STATUS BIT)
INSERT INTO T1 VALUES(1, 50001,50002, 1)
INSERT INTO T1 VALUES(2, 50003,50004, 1)
INSERT INTO T1 VALUES(3, 50005,50006, 1)
INSERT INTO T1 VALUES(4, 50007,50008, 1)
DECLARE @KEY INT = 50002
SELECT TO_KEY FROM T1 WHERE [email protected] AND IS_STATUS=1
UNION ALL
SELECT FROM_KEY FROM T1 WHERE [email protected] AND IS_STATUS=1
你有'to_key,is_status'和'from_key,is_status'上的索引嗎?條件中選擇了150萬行中的多少行? –
@Suraz他的意思是說,他在上述例子中只有4條記錄。實際生產數據包含150萬條記錄。 –