Zend Framework中有很多DESCRIBE查询

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)