MySQL 9.0 C API 開發人員指南  /  C API 預處理語句介面

第 6 章 C API 預處理語句介面

MySQL 客戶端/伺服器協定提供了預處理語句的使用。此功能使用 MYSQL_STMT 語句處理程式資料結構,該結構由 mysql_stmt_init() 初始化函數返回。預處理執行是多次執行語句的有效方式。首先解析該語句,以便為執行做好準備。然後,使用初始化函數返回的語句處理程式,在稍後執行一次或多次。

對於執行多次的語句,預處理執行比直接執行更快,主要是因為查詢只解析一次。在直接執行的情況下,每次執行時都會解析查詢。預處理執行還可以減少網路流量,因為對於預處理語句的每次執行,只需要傳送參數的資料即可。

在某些情況下,預處理語句可能不會提供效能提升。為了獲得最佳結果,請使用預處理和非預處理語句測試您的應用程式,並選擇效能最佳的選項。

預處理語句的另一個優點是它使用二進位協定,使客戶端和伺服器之間的資料傳輸更有效率。

如需可用作預處理語句的 SQL 語句清單,請參閱 預處理語句

對預處理語句所參照的表格或檢視表的元資料變更會被偵測到,並在下次執行該語句時導致自動重新準備該語句。如需更多資訊,請參閱 預處理語句和預存程式的快取