gpt4 book ai didi

mysql - 大量额外查询 CakePHP

转载 作者:行者123 更新时间:2023-11-29 13:07:49 25 4
gpt4 key购买 nike

340我现在正在重建 cakephp 版本,并试图弄清楚是什么占用了所有额外的时间和内存等等,现在我只是想了解这里发生了什么

我发现每个页面加载时都会有大约 30-40 个这样的 mysql 调用:

SELECT CHARACTER_SET_NAME FROM INFORMATION_SCHEMA.COLLATIONS WHERE COLLATION_NAME = ?;

我真的找不到原因和位置,这是蛋糕所需的东西还是老程序员拉屎了风扇或者这就像“随便什么”?

---------------编辑-----------------

我现在已将相关查询定位到核心文件:

lib/Cake/Model/Datasource/Database/mysql.php

和函数:

getCharsetName ($name)

但是我找不到在哪里或为什么调用它

最佳答案

听起来模式缓存被禁用,或者由于某种原因不起作用。

检查Model::$cacheSources ,理想情况下它应该是true。如果它已经是 true,那么您需要进行一些进一步的调试,检查 getCharsetName() 的调用位置,例如通过异常堆栈跟踪:

$e = new Exception();
debug($e->getTraceAsString());

也许您的应用程序正在显式调用该方法,谁知道呢。另请检查为 $name 参数传递的内容。

并确保/tmp/cache/models/可写且可读。

关于mysql - 大量额外查询 CakePHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22473664/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com