MySQL 8.0 C API开发人员指南/ c API准备的语句界面

第6章C API准备的语句界面

MySQL客户端/服务器协议提供了使用准备的语句。这种能力使用mysql_stmt.声明处理程序数据结构返回mysql_stmt_init()初始化功能。准备的执行是一个多次执行语句的有效方法。首先解析声明以准备执行。然后,它在稍后的时间内执行一次或多次,使用初始化函数返回的语句处理程序。

准备的执行速度快于执行不止一次的语句的直接执行,主要是因为查询仅被解析一次。在直接执行的情况下,每次执行时都会解析查询。准备的执行也可以减少网络流量,因为对于每次执行准备的语句,只需发送参数的数据即可。

准备的陈述可能无法在某些情况下提供性能增加。为获得最佳效果,请使用准备和非修改的陈述进行测试,并选择任何产生最佳性能的申请。

准备好语句的另一个优点是它使用了二进制协议,该协议使客户端和服务器之间的数据传输更高效。

有关可用作准备好的语句的SQL语句列表,请参阅准备的陈述

检测到由准备语句引用的表或视图的元数据更改,并在下次执行时对语句自动进行自动重置。有关更多信息,请参阅缓存准备的陈述和存储的程序