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

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

MySQL 用戶端/伺服器協定支援使用預處理語句。此功能使用 MYSQL_STMT 語句處理常式資料結構,該結構由 mysql_stmt_init() 初始化函式傳回。預處理執行是多次執行語句的有效方法。首先會剖析語句以準備執行。然後,使用初始化函式傳回的語句處理常式,在稍後執行一次或多次。

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

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

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

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

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