我有一堆SQL語句。他們是在一個特殊的順序,所以如果第一個語句返回一行我完成了,如果不去下一個語句並返回結果。什麼將是一個快速的方法來做到這一點?我試圖在T-SQL中實現它,因爲我在MSSQL服務器上,但它確實很慢。如何快速選擇一組select語句的第一行
讓這件事情儘可能快是非常重要的。
我有一堆SQL語句。他們是在一個特殊的順序,所以如果第一個語句返回一行我完成了,如果不去下一個語句並返回結果。什麼將是一個快速的方法來做到這一點?我試圖在T-SQL中實現它,因爲我在MSSQL服務器上,但它確實很慢。如何快速選擇一組select語句的第一行
讓這件事情儘可能快是非常重要的。
如果你只需要在第一行使用TOP 1
SELECT TOP 1 * FROM ...
感謝您的提示,但只要一條SQL語句返回1行,我就完成了! – user2240975
用適當的邏輯檢查@@ rowcount來決定是否移動到下一個查詢等。 –
嘗試是這樣的
Select column1 from myTable
if @@ROWCOUNT <> 0 return
Select column1 from myOtherTable
if @@ROWCOUNT <> 0 return
... and so on
這正是我正在使用的解決方案,但它太慢了。 – user2240975
在這種情況下,您可能需要逐個查看查詢 - 查看是否可以對它們進行優化,或許是更好的索引選擇等等。有什麼方法可以發佈SQL嗎?請參閱[SSCCE.org](http://sscce.org)瞭解一些非sql建議,您可能已經知道如何更好地隔離這些建議。祝你好運! –
「這是非常重要的,使這件事儘可能快。」我認爲你應該發佈一個例子(你已經嘗試了什麼,它是如何工作的),模式,演示數據,期望的輸出等。 –
如果你擔心這個問題,請提供查詢,條形碼名稱,但是如果沒有它,績效打擊很難確定。 –