2012-07-03 43 views
0

幾天前有人問我一個問題,如果一個相同的簡單查詢從三種不同的方式從任何應用程序執行: 1.通過內聯語句 2.通過調用SP與查詢相同 3.通過調用具有相同查詢的SP,但使用EXEC語句。內聯查詢和SP執行計劃的差異

我需要他們的表現差異以及執行計劃的差異。先生,當試圖同時執行三個不同的查詢並檢查執行計劃時,我沒有任何區別,我真的很困惑,請幫助我。

+1

爲什麼你認爲**在執行計劃或執行計劃中存在任何(顯着)差異? –

回答

0

如果查詢完全相同,執行計劃將不會有差異。因爲執行計劃是查詢的,並不取決於它的調用方式

+0

還有其他因素可能會影響SQL Server中的最終執行計劃。看看[這個問題](http://stackoverflow.com/questions/1007397/sql-poor-stored-procedure-execution-plan-performance-parameter-sniffing「SQL糟糕的存儲過程執行計劃性能 - 參數嗅探」)一個例子。 –

+0

@Andiry M,我說「如果查詢完全相同」,你給出的鏈接是完全不同的情況 – Zia

+0

這個問題是關於在不同情況下具有不同執行計劃的相同查詢,這就是我只想指出的在回答你的*時,如果查詢完全一樣,那麼在執行計劃中就沒有區別。 –