Le nombre et la qualité des requêtes SQL ont souvent un impact considérable sur les performances d'un site. Le Zend Framework dispose d'un composant très pratique nommé Zend_Db_Profiler_Firebug qui permet d'afficher le temps d'exécution des différentes requêtes exécutées pour afficher une page.
Comme son nom l'indique, Zend_Db_Profiler_Firebug utilise l'excellent Firebug pour afficher ses informations. Vous devez donc l'installer cette extension Firefox ainsi que FirePHP avant de pouvoir utiliser ce composant.
Il faut ensuite ajouter les lignes suivantes dans votre bootstrap :
<?php
if ($this->_environment == 'development') {
$profiler = new Zend_Db_Profiler_Firebug('Requêtes');
$profiler->setEnabled(true);
Zend_Db_Table_Abstract::getDefaultAdapter()->setProfiler($profiler);
}
?>
Vous pouvez également l'activer lors de la création de votre adaptateur de base de données :
<?php
$db = Zend_Db::factory('Pdo_Mysql',
array(
...
'profiler' => array(
'enabled' => true,
'class' => 'Zend_Db_Profiler_Firebug'
)
)
);
?>
Vous obtiendrez ainsi l'affichage suivant dans la console Firebug :
Les requêtes qui prennent le plus de temps pourront alors être placées en cache ou optimisées. Pour mémoire, les principaux points à examiner pour améliorer les performances d'une requête SQL sont, par ordre d'importance :
Ajouter un commentaire