PDF (US Ltr) - 1.4Mb
PDF (A4) - 1.4Mb
目录
- 6.1 C API 预处理语句接口概述
- 6.2 C API 预处理语句数据结构
- 6.3 C API 预处理语句函数参考
- 6.4 C API 预处理语句函数描述
- 6.4.1 mysql_stmt_affected_rows()
- 6.4.2 mysql_stmt_attr_get()
- 6.4.3 mysql_stmt_attr_set()
- 6.4.4 mysql_stmt_bind_named_param()
- 6.4.5 mysql_stmt_bind_param()
- 6.4.6 mysql_stmt_bind_result()
- 6.4.7 mysql_stmt_close()
- 6.4.8 mysql_stmt_data_seek()
- 6.4.9 mysql_stmt_errno()
- 6.4.10 mysql_stmt_error()
- 6.4.11 mysql_stmt_execute()
- 6.4.12 mysql_stmt_fetch()
- 6.4.13 mysql_stmt_fetch_column()
- 6.4.14 mysql_stmt_field_count()
- 6.4.15 mysql_stmt_free_result()
- 6.4.16 mysql_stmt_init()
- 6.4.17 mysql_stmt_insert_id()
- 6.4.18 mysql_stmt_next_result()
- 6.4.19 mysql_stmt_num_rows()
- 6.4.20 mysql_stmt_param_count()
- 6.4.21 mysql_stmt_param_metadata()
- 6.4.22 mysql_stmt_prepare()
- 6.4.23 mysql_stmt_reset()
- 6.4.24 mysql_stmt_result_metadata()
- 6.4.25 mysql_stmt_row_seek()
- 6.4.26 mysql_stmt_row_tell()
- 6.4.27 mysql_stmt_send_long_data()
- 6.4.28 mysql_stmt_sqlstate()
- 6.4.29 mysql_stmt_store_result()
MySQL 客户端/服务器协议支持使用预处理语句。此功能使用由 mysql_stmt_init()
初始化函数返回的 MYSQL_STMT
语句句柄数据结构。预处理执行是一种高效的方式,可以多次执行同一个语句。该语句首先被解析以备执行。然后,它在稍后的时间使用初始化函数返回的语句句柄执行一次或多次。
对于多次执行的语句,预处理执行比直接执行更快,主要是因为查询只解析一次。在直接执行的情况下,查询每次执行时都会被解析。预处理执行还可以减少网络流量,因为对于每次执行预处理语句,只需要发送参数数据。
在某些情况下,预处理语句可能不会提高性能。为了获得最佳效果,请使用预处理语句和非预处理语句测试您的应用程序,并选择性能最佳的语句。
预处理语句的另一个优点是它使用二进制协议,这使得客户端和服务器之间的数据传输更加高效。
有关可作为预处理语句使用的 SQL 语句列表,请参阅 预处理语句。
对预处理语句所引用表或视图的元数据更改将被检测到,并在下次执行语句时导致自动重新准备。有关详细信息,请参阅 预处理语句和存储程序的缓存。