如何告诉PHP仅在一段时间内等待SQL查询?

时间:2013-07-28 08:30:19

标签: php mysql mysqli

我在PHP脚本中有一个mysqli_query(),通常需要大约10毫秒才能完成。但是,有时需要大约5000毫秒。此查询对于网站正常运行并不重要,即如果超过10毫秒,则可以忽略该查询。

这可能吗?

类似的东西:

<?php

// microtime here is X
$query = mysqli_query($connection, "(do something)");
// if difference between time now and previous time is bigger than 10 ms,
// skip waiting for the $query result and go on

?>

如果有可能这样的话,我们是否也可以取消正在运行的查询,以便MySQL服务器知道我们不再需要结果并停止处理它?<​​/ p>

1 个答案:

答案 0 :(得分:1)

由于查询不敏感,您应该缓存结果,而不是每次都访问数据库。

PHP提供mysqlnd-qcqc用于查询缓存),它与APC和朋友一起缓存MySQL查询的结果。

另一种选择是缓存模板。 Smarty has this included。这意味着您只渲染一次页面,然后仅在一定的固定时间后渲染它。