我发现在每个页面加载时都有类似30-40个mysql调用:
SELECT CHARACTER_SET_NAME FROM INFORMATION_SCHEMA.COLLATIONS WHERE COLLATION_NAME = ?;
我无法真正找到原因和地点,这是蛋糕所需要的东西,还是老程序员的粉丝,或者这就像"无论什么"?
---------------编辑-----------------
我现在找到了有问题的查询 核心文件:
lib/Cake/Model/Datasource/Database/mysql.php
和功能:
getCharsetName ($name)
然而,我无法找到这个名称的地点或原因
答案 0 :(得分:1)
听起来模式缓存已被禁用,或者由于某种原因无效。
检查Model::$cacheSources
,理想情况下应该是true
。如果它已经是true
,那么您需要进行一些进一步的调试,检查正在调用getCharsetName()
的位置,例如通过异常堆栈跟踪:
$e = new Exception();
debug($e->getTraceAsString());
也许你的应用程序是显式调用方法,谁知道。还要检查$name
参数的传递内容。
确保/tmp/cache/models/
可写且可读。