我只是想知道如何准备查询工作。我正在使用PHP和MySQL。准备好的查询在服务器端“持续”多久?
我知道准备的查询编译查询,然后重复使用只需要更改参数,因此它节省了时间。但是编译后的查询有多长时间?何时需要重新评估?是否只要PHP脚本运行?或者只要连接到数据库存在?在这种情况下,持久连接会对它产生什么影响?
我只是想知道如何准备查询工作。我正在使用PHP和MySQL。准备好的查询在服务器端“持续”多久?
我知道准备的查询编译查询,然后重复使用只需要更改参数,因此它节省了时间。但是编译后的查询有多长时间?何时需要重新评估?是否只要PHP脚本运行?或者只要连接到数据库存在?在这种情况下,持久连接会对它产生什么影响?
ryeguy,他们持续的连接长度。根据MySQL手册:
准备好的语句特定于创建它的会话。如果您在不取消分配先前准备好的语句的情况下终止会话,服务器会自动释放它。
如果您没有使用持久连接,那么当您的脚本完成执行(或者您明确地释放它或关闭连接)时,这将被释放。如果使用持久连接,则它将使用相同的持久连接持久保存在多个PHP会话中。
据我所知,只要存储它的变量在范围内,准备好的查询就只会“持续”。我想可能有一些方法来缓存准备好的查询供以后使用,但我不知道MySQL是否这样做。
hobodave是正确的,他们只是最后只要了会议,他们在创建
还有另一个要考虑的,太:
7.5.5。 MySQL查询缓存
注意
查询缓存不用于 准备好的语句。如果您正在使用 准备好的语句,请考虑 这些语句不会被查询缓存满足 。
该死的,只要你能让它们持续更久 – Xeoncross 2009-12-04 21:20:03