25.2.4. C API Prepared Statements
The MySQL client/server protocol provides for the use of
prepared statements. This capability uses the
MYSQL_STMT
statement handler data structure
returned by the mysql_stmt_init()
initialization function. Prepared execution is an efficient way
to execute a statement more than once. The statement is first
parsed to prepare it for execution. Then it is executed one or
more times at a later time, using the statement handle returned
by the initialization function.
Prepared execution is faster than direct execution for
statements executed more than once, primarily because the query
is parsed only once. In the case of direct execution, the query
is parsed every time it is executed. Prepared execution also can
provide a reduction of network traffic because for each
execution of the prepared statement, it is necessary only to
send the data for the parameters.
Another advantage of prepared statements is that it uses a
binary protocol that makes data transfer between client and
server more efficient.
The following statements can be used as prepared statements:
CREATE TABLE
, DELETE
,
DO
, INSERT
,
REPLACE
, SELECT
,
SET
, UPDATE
, and most
SHOW
statements. Other statements are not
supported in MySQL 5.1.