Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 21-06-2008 11:16:25

Kaimite
Membre
Lieu: Marseille
Date d'inscription: 16-06-2008
Messages: 144
Site web

[Résolu] [Zend_DB] [1.5] Nombreuses requêtes en doublon

** Ce message a été déplacé dans ce forum - Il était précédemment dans le forum MVC **

Bonjour,

Je viens de commencer un site avec ZF et j'ai affiché le profiler de Zend_DB et je me rends compte qu'il y a pas mal de requêtes en doublons.

J'ai créé un model Article.php qui etend Zend_DB_Table et à chaque fois que je crée une nouvelle instance de Article() j'ai une requête "DESCRIBE `articles`"

Mon soucis c'est que si j'affiche une liste de 50 articles a chaque fois que je vais faire une nouvelle instance je vais avoir cette requête et donc 50 requêtes pour une seule page !

Au final j'ai peur d'avoir bcp d'accès à la base de données pour "pas grand chose".

Pensez-vous que c'est génant ? Y a t'il une solution pour éviter ceci ?
Peut-être ne pas utiliser Zend_DB...

Je m'en remet à votre expérience.

Merci pour vos réponses.

Cordialement,
Kaimite

Dernière modification par Kaimite (21-06-2008 15:03:44)

Hors ligne

 

#2 21-06-2008 14:53:59

Julien
Membre
Date d'inscription: 16-03-2007
Messages: 501

Re: [Résolu] [Zend_DB] [1.5] Nombreuses requêtes en doublon

Ca se cache avec un Zend_Cache, c'est expliqué en documentation :

Zend_Db_Table::setDefaultMetadataCache($cache);

Avec $cache, par exemple, utilisant APC (c'est ce que j'utilise comme cache OPCode):

$cache = Zend_Cache::factory('Core','APC',array('lifetime'=>7200,'automatic_serialization'=>true),array());

Hors ligne

 

#3 21-06-2008 15:03:21

Kaimite
Membre
Lieu: Marseille
Date d'inscription: 16-06-2008
Messages: 144
Site web

Re: [Résolu] [Zend_DB] [1.5] Nombreuses requêtes en doublon

Merci pour la réponse.

Cordialement,
Kaimite

Hors ligne

 

#4 21-06-2008 23:44:16

yannux
Membre
Lieu: Rennes
Date d'inscription: 07-04-2007
Messages: 284
Site web

Re: [Résolu] [Zend_DB] [1.5] Nombreuses requêtes en doublon

Kaimite a écrit:

Mon soucis c'est que si j'affiche une liste de 50 articles a chaque fois que je vais faire une nouvelle instance je vais avoir cette requête et donc 50 requêtes pour une seule page !

C'est pas un peu bourrin d'instancier 50 fois le model pour afficher une liste ?  xD  Une instanciation +  requête suffisent non ?


Société : Direct Info Service

Hors ligne

 

#5 22-06-2008 00:48:30

Kaimite
Membre
Lieu: Marseille
Date d'inscription: 16-06-2008
Messages: 144
Site web

Re: [Résolu] [Zend_DB] [1.5] Nombreuses requêtes en doublon

Bonjour, ou bonsoir.

Voici comment je fait pour ma liste :

Je récupère les ids des articles demandées :

Code:

$select = $this -> select() 
    -> from($this -> _name, 'uid') 
    -> where('`rubriques_id` = ?', $rubriques_id) 
    -> where ("`actif` = '1'")
    -> order ("date_ajout DESC");

$Rows = $this -> fetchAll($select);
if ( sizeof($Rows) > 0 ) {
    foreach ($Rows AS $Row) {
        $Row = $Row -> toArray();
        $Retour[] = new Article($Row['uid']);
    }
    return $Retour;
}

Comme çà pour chaque article je peux utiliser ses méthodes :

$unArticle -> recupererInfos();
$unArticle -> preparerInfosPourWeb();
etc.

J'ai donc bien x instance de ma class Article();

Comment faites-vous de votre coté ?

Merci de vos réponses.

Cordialement,
Kaimite

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages