Sql-Server
EXEC 與 SP_EXECUTESQL 性能
最近我們對我們的數據庫使用了一個 sql 程式碼審查工具。建議使用
SP_EXECUTESQL
而不是EXEC
.我知道
SP_EXECUTESQL
可以幫助我們避免 sql 注入。EXEC
使用vs時性能有什麼不同嗎SP_EXECUTESQL
?
由於安全性和一致性,這主要是一種偏好,與性能無關(儘管這在 SQL Server 的舊版本中可能更受關注)。
當你有參數時,為什麼要使用
EXEC()
一些你應該使用的時間?強制您將所有變數連接到一個字元串中,這使得濫用變得成熟。sp_executesql``EXEC()
我在這裡更詳細地寫了這個:
我還在這裡寫了關於保護自己免受 SQL 注入的文章:
SQL 注入是一件大事,很多其他人也寫過關於它的文章。
最後,請確保在呼叫系統過程時使用正確的大小寫來匹配儲存的內容
sys.all_objects
- 它應該全部小寫。否則,如果您的程式碼被部署到區分大小寫的實例上,它將全部開始失敗。