查詢大表(> 150萬行)3次或在同一查詢中放入3個條件會更好嗎?樣本where
條款如下。有類似或更復雜的where
子句。我的直覺是把他們全部在相同的where
。但需要來自社區的一些意見。提前致謝。查詢大表
where (a =1 or b=1) and (a=2 or b=3) and (c=1 or d=3)
查詢大表(> 150萬行)3次或在同一查詢中放入3個條件會更好嗎?樣本where
條款如下。有類似或更復雜的where
子句。我的直覺是把他們全部在相同的where
。但需要來自社區的一些意見。提前致謝。查詢大表
where (a =1 or b=1) and (a=2 or b=3) and (c=1 or d=3)
單次訪問數據庫是絕對可取的。確保你索引a
,b
,c
和d
列,你應該沒問題。
將它們全部放在同一個where
子句中通常會更快。但是,每個查詢都是不同的,並且確保您檢查每個查詢的查詢計劃,以確保您可以獲得最佳性能。
這一切都取決於你的模式(數據類型,鍵,指示等),一般來說我會說你會更好的將所有的條件添加到相同的where子句,所以查詢優化器有儘可能多的信息與...合作。找出最好的方法是運行一些測試,看看哪種方法可以在數據/模式下獲得最佳性能。
把它放在一個查詢。
除了降低開銷之外,您將通過這種方式消除重複項。如果您有一條符合多個條件的行,那麼如果您查詢多次,它將在最終結果集中顯示兩次。
您的邏輯可能與AND和OR相反 - 您可以檢查嗎? –
只需運行查詢並親自體驗 –
感謝你們所有人的時間和精力。 –