Sql-Server

EXEC 與 SP_EXECUTESQL 性能

  • May 7, 2020

最近我們對我們的數據庫使用了一個 sql 程式碼審查工具。建議使用SP_EXECUTESQL而不是EXEC.

我知道SP_EXECUTESQL可以幫助我們避免 sql 注入。EXEC使用vs時性能有什麼不同嗎SP_EXECUTESQL

由於安全性和一致性,這主要是一種偏好,與性能無關(儘管這在 SQL Server 的舊版本中可能更受關注)。

當你有參數時,為什麼要使用EXEC()一些你應該使用的時間?強制您將所有變數連接到一個字元串中,這使得濫用變得成熟。sp_executesql``EXEC()

我在這裡更詳細地寫了這個:

我還在這裡寫了關於保護自己免受 SQL 注入的文章:

SQL 注入是一件大事,很多其他人也寫過關於它的文章。

最後,請確保在呼叫系統過程時使用正確的大小寫來匹配儲存的內容sys.all_objects- 它應該全部小寫。否則,如果您的程式碼被部署到區分大小寫的實例上,它將全部開始失敗。

引用自:https://dba.stackexchange.com/questions/165149