我一直在寻找这个问题的答案,但没有在任何地方找到。对 PDO::prepare() 的调用是否已缓存,或者我应该自己缓存结果,即如果我执行以下操作
function foo () {
$handle = PDO::prepare(...);
/* do stuff with the handle */
}
准备()语句是否会被PDO缓存,以便快速检索第二次、第三次等?或者自己做更好,例如
function foo() {
static $handle = null;
if (!$handle) {
$handle = PDO::prepare(...);
}
/* do stuff with the handle */
}
有的是MySQL 查询缓存。但一般来说,您绝对应该保留准备好的语句的标识符并重新使用它。
MySQL 8.0 版本中查询缓存消失了,请参见
https://dba.stackexchange.com/questions/217577/why-mysql-remove-query-cache-in-8-0-version
https://dev.mysql.com/blog-archive/mysql-8-0-retiring-support-for-the-query-cache/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)