我想將一長串逗號分隔值加入單個值,例如,假設美國的所有城鎮:
像這樣構建我的加入是否更有意義:
[TableA].[Town] IN (SELECT VALUE FROM SPLIT_STRING([TableB].[TownList],','))
或者
[TableB].[TownList] LIKE ('%' [TableA].[Town] '%')
作為一個假設的例子,我想更好地理解這些在后端做了什么,在哪些場景下有意義?
謝謝
uj5u.com熱心網友回復:
從理論上的抽象觀點來看,您正在連接兩個表,并且想知道哪個連接條件優于另一個。在表達水平上,我注意到嘗試分析幾乎不值得。依賴于 CPU 的東西在 SQL Server 中似乎沒有太大的作用。我很少看到分析表達性能的帖子。format我只能回憶起其中一個表明功能昂貴的大牌。
相反,最重要的是使用的計劃。不過,這不是我們可以回答的;它取決于索引、表大小和其他元資料。
因此,像所有查詢一樣,要了解正在發生的事情并獲得有意義的結果,您必須閱讀并理解執行計劃。這就是為什么在這里提出的所有性能問題中,總是要求執行計劃。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/476636.html
