預處理語句和存儲過程



  很多更成熟的數據庫都支持預處理語句的概念。什么是預處理語句?您可以把預處理語句看作您想要運行的 SQL 的一種編譯過的模板,它可以使用 變量參數進行定制。預處理語句可以帶來兩大好處:
  查詢只需解析(或准備)一次,但是可以用相同或不同的參數執行多次。當查詢准備好后,數據庫將分析、編譯和優化執行該查詢的計划。對於復雜的查詢,這個過程要花比較長的時間,如果您需要以不同參數多次重復相同的查詢,那么該過程將大大降低 應用程序的速度。通過使用預處理語句,可以避免重復分析/編譯/優化周期。簡言之,預處理語句使用更少的資源,因而運行得更快。 提供給預處理語句的參數不需要用引號括起來,驅動程序會處理這些。如果應用程序獨占地使用預處理語句,那么可以確保沒有 SQL 入侵發生。(然而,如果您仍然將查詢的其他部分建立在不受信任的輸入之上,那么就仍然存在風險)。 預處理語句是如此有用,以致 PDO 實際上打破了在目標 4 中設下的規則:如果驅動程序不支持預處理語句,那么 PDO 將仿真預處理語句。
  下面是使用預處理語句的兩個例子。第一個例子 通過替換指定 占位符的 name 和 value,執行一次插入。而 第二個例子 使用問號占位符執行一條 select 語句。

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
  © 2014-2022 ITdaan.com