MySQL直接执行和预处理执行效率比较示例

“对于多次执行的语句,预处理执行比直接执行快,主要原因在于,仅对查询执行一次解析操作。在直接执行的情况下,每次执行语句时,均将进行查询。此外,由于每次执行预处理语句时仅需发送参数的数据,从而减少了网络通信量。
“预处理语句的另一个优点是,它采用了二进制协议,从而使得客户端和服务器之间的数据传输更有效率。”——MySQL 5.1 中文手册
到底是否真的会快,会快多少呢,故做了此实验。
代码:

结果:

结果表明:预处理执行比直接执行快10%~20%,速度提升效果很明显。
我同时也做了个使用预处理执行函数,但是在每次执行前都创建语句(mysql_stmt_init、mysql_stmt_prepare),执行结束后都销毁语句(mysql_stmt_close),结果是其执行时间是直接执行的2倍,结果很悲剧。
来自 http://www.flatws.cn/article/program/mysql/2010-08-23/8968.html

发表评论