2011-04-28 89 views
0

我在SQL存儲過程中有兩個varchar(max)參數。 其中之一是在C#中生成的可讀字符串,該字符串提供給用戶以顯示特定記錄的值已更改。 另一個是字符串的XML表示形式,我將通過它解析每個Modified值並將其添加到數據庫表中。使用varchar(max)參數的SQL性能

爲了簡短解釋,可讀的字符串包含用戶可以識別的用戶友好的DB列值;而XML表示包含數據庫表格的字段/列名稱,因爲它顯示在數據庫設計視圖中。

在將兩個varchar(max)參數傳遞給SQL存儲過程時是否存在性能問題?

如果是這樣,只傳遞varchar(max)參數中的一個參數並設置一個User-Define-Function來分析參數並創建用戶友好值以顯示給用戶會有好處嗎?我擔心會有多次調用User-Defined-Function,導致性能下降。

想法?

謝謝! Rusty

+1

有幾個簡單的問題,因爲第一個nvarchar只是一個人類可讀的版本,爲什麼你甚至需要通過它?其次爲什麼你不只是將XML數據作爲XML數據類型傳遞並在存儲過程中處理它? – Johnv2020 2011-04-28 19:06:59

回答

2

你有什麼理由相信通過這兩個參數比通過一個參數慢?

我懷疑通過一個參數傳遞並且被UDF撕裂會更快,如果不是,那麼增加的複雜性很難證明是合理的。