[Marseille-pm] Fichier de test pour Class::DBI

arnaud at underlands.org arnaud at underlands.org
Tue Sep 2 11:28:46 CDT 2003


On Tue, Sep 02, 2003 at 05:31:07PM +0200, Robert silve wrote:
> Question annexe : comment ferais tu pour utiliser Essential 
> judicieusement et pouvoir forcer "proprement" le fetch des colonnes
> au cas par cas ?

Si tu veux pouvoir le déclencher au cas par cas tu peux faire un truc comme

MyDBI->columns(Primary   => qw/id/);
MyDBI->columns(Essential => qw/lib1/);
MyDBI->columns(Others    => qw/lib2 lib3/);

Par défaut charge id et lib2 (les clés et essential)

si tu veux charger lib2 ET lib3 tu as juste à faire un accès en lecture sur
l'objet

my (undef) = $mydbiobject->lib2; # C'est dailleurs ce que tu faisait avec ton
map ;-)

C'est lourd mais c'est ce qui t'offre le controle le plus fin...


L'idée est de réduire essential au minimum pour les perf, et de regrouper
les colonnes auquelles tu accède généralement en même temps dans un même
groupe...

J'ai pas testé mais tu devrais aussi pouvoir (re)définir Essential a
différents endroits de ton code pour choisir la "finesse" de ta "lazy
population" c'est un compromis intermédiare entre la solution "fine" (ci
dessus) et toutes les colonnes dans essential.


Hope this helps.

Arnaud.



More information about the Marseille-pm mailing list