Tam*_*lyn 14 php zend-framework query-optimization
我只是在Zend中设置FirePHP,我注意到大量的DESCRIBE查询.某些页面在同一个表上有50个或更多相同的查询.例如
0.00198 connect NULL 0.00449 DESCRIBE `nodes` NULL 0.00041 SELECT `nodes`.* FROM `nodes` WHERE (((`nodes`.`id` = 111))) NULL 0.0037 DESCRIBE `nodes` NULL 0.00155 SELECT `nodes`.* FROM `nodes` WHERE (((`nodes`.`id` = 111))) NULL 0.00059 SELECT `nodes`.* FROM `nodes` WHERE (parent_id = '111') ORDER BY `order` ASC, `id` ASC NULL 0.00366 DESCRIBE `nodes` NULL 0.0054 DESCRIBE `nodes` NULL 0.0049 DESCRIBE `nodes` NULL 0.00519 DESCRIBE `nodes` NULL 0.00492 DESCRIBE `nodes` NULL 0.00691 DESCRIBE `nodes` NULL 0.00741 DESCRIBE `nodes` NULL 0.0048 DESCRIBE `nodes` NULL 0.00556 DESCRIBE `nodes` NULL 0.00516 DESCRIBE `nodes` NULL 0.00487 DESCRIBE `nodes` NULL
......它继续下去.
是否所有那些DESCRIBE查询都是由框架生成的(我使用的是Zend_DbTable)?这些都是必要的吗?我应该担心它们还是不太可能影响性能?
Joh*_*nco 13
这些查询由Zend_Db_Table执行,以检测表的模式.您可以要求Zend_Db_Table使用Zend_Cache缓存结果以防止持续调用,但如果您更改架构,请记住这一点.
你可以这样做:
Zend_Db_Table_Abstract::setDefaultMetadataCache($cache);
Run Code Online (Sandbox Code Playgroud)