Je me demande si il ne serait pas plus judicieux de faire une requete dans
la BDD à chaque login pour chaque utilisateur dés que c'est nécessaire.
(dans ce cas la BDD sera beaucoup plus souvent solicité). Qu'elle est
d'après vous le mieux ? Qu'est ce qui est fait en général pour les
problémes
de ce type ?
A première vue, c'est un peu bizarre de mettre tous les uti en mémoire.
Etant donné que je dois apporter beaucoup de modifications, je me demande
si
je ne devrais pas repenser toute l'appli sous la forme J2EE, EJB... Enfin
je
n'ai pas encore assez de recul pour connaitre l'avantage de ceci par
rapport
à un simple (servlet + JSP) mais ca me permetrait de me familiariser avec
J2EE. Comment déterminer quel technologie employer ?
Ré-écrire l'appli en passant d'une architecture servlets+composants à une
Je me demande si il ne serait pas plus judicieux de faire une requete dans
la BDD à chaque login pour chaque utilisateur dés que c'est nécessaire.
(dans ce cas la BDD sera beaucoup plus souvent solicité). Qu'elle est
d'après vous le mieux ? Qu'est ce qui est fait en général pour les
problémes
de ce type ?
A première vue, c'est un peu bizarre de mettre tous les uti en mémoire.
Etant donné que je dois apporter beaucoup de modifications, je me demande
si
je ne devrais pas repenser toute l'appli sous la forme J2EE, EJB... Enfin
je
n'ai pas encore assez de recul pour connaitre l'avantage de ceci par
rapport
à un simple (servlet + JSP) mais ca me permetrait de me familiariser avec
J2EE. Comment déterminer quel technologie employer ?
Ré-écrire l'appli en passant d'une architecture servlets+composants à une
Je me demande si il ne serait pas plus judicieux de faire une requete dans
la BDD à chaque login pour chaque utilisateur dés que c'est nécessaire.
(dans ce cas la BDD sera beaucoup plus souvent solicité). Qu'elle est
d'après vous le mieux ? Qu'est ce qui est fait en général pour les
problémes
de ce type ?
A première vue, c'est un peu bizarre de mettre tous les uti en mémoire.
Etant donné que je dois apporter beaucoup de modifications, je me demande
si
je ne devrais pas repenser toute l'appli sous la forme J2EE, EJB... Enfin
je
n'ai pas encore assez de recul pour connaitre l'avantage de ceci par
rapport
à un simple (servlet + JSP) mais ca me permetrait de me familiariser avec
J2EE. Comment déterminer quel technologie employer ?
Ré-écrire l'appli en passant d'une architecture servlets+composants à une
A première vue, c'est un peu bizarre de mettre tous les uti en mémoire.
C'est quoi la couche de persistance utilisée ? JDBC "direct", hibernate,
toplink, jdo ?
Si c'est le premier, bon... pourquoi pas.
Si c'est l'une des autres, alors c'est certainement une mauvaise solution
car ces trois solutions gèrent des caches qui rendent inutile de monter
les
tables en mémoire.
Ensuite s'il n'y a que quelques dizaines d'uti dans la table... et bien ça
ne doit pas utiliser tant de mémoire que ça. Limiter les A/R appli<->Bdd
c'est pas mal.
Ré-écrire l'appli en passant d'une architecture servlets+composants à une
architecture ejb c'est loin d'être anodin, c'est se lancer dans une
ré-écriture complète de l'appli.
Mais il ne faut pas faire de l'ejb à tout prix. On peut faire des applis
sérieuses et robustes en respectant un développpement en couches
indépendantes et en utilisant un outil de mapping performant tel que
hibernate.
Par développement en couches j'entends : respecter MVC avec par exemple
struts + une partie modèle "propre".
A première vue, c'est un peu bizarre de mettre tous les uti en mémoire.
C'est quoi la couche de persistance utilisée ? JDBC "direct", hibernate,
toplink, jdo ?
Si c'est le premier, bon... pourquoi pas.
Si c'est l'une des autres, alors c'est certainement une mauvaise solution
car ces trois solutions gèrent des caches qui rendent inutile de monter
les
tables en mémoire.
Ensuite s'il n'y a que quelques dizaines d'uti dans la table... et bien ça
ne doit pas utiliser tant de mémoire que ça. Limiter les A/R appli<->Bdd
c'est pas mal.
Ré-écrire l'appli en passant d'une architecture servlets+composants à une
architecture ejb c'est loin d'être anodin, c'est se lancer dans une
ré-écriture complète de l'appli.
Mais il ne faut pas faire de l'ejb à tout prix. On peut faire des applis
sérieuses et robustes en respectant un développpement en couches
indépendantes et en utilisant un outil de mapping performant tel que
hibernate.
Par développement en couches j'entends : respecter MVC avec par exemple
struts + une partie modèle "propre".
A première vue, c'est un peu bizarre de mettre tous les uti en mémoire.
C'est quoi la couche de persistance utilisée ? JDBC "direct", hibernate,
toplink, jdo ?
Si c'est le premier, bon... pourquoi pas.
Si c'est l'une des autres, alors c'est certainement une mauvaise solution
car ces trois solutions gèrent des caches qui rendent inutile de monter
les
tables en mémoire.
Ensuite s'il n'y a que quelques dizaines d'uti dans la table... et bien ça
ne doit pas utiliser tant de mémoire que ça. Limiter les A/R appli<->Bdd
c'est pas mal.
Ré-écrire l'appli en passant d'une architecture servlets+composants à une
architecture ejb c'est loin d'être anodin, c'est se lancer dans une
ré-écriture complète de l'appli.
Mais il ne faut pas faire de l'ejb à tout prix. On peut faire des applis
sérieuses et robustes en respectant un développpement en couches
indépendantes et en utilisant un outil de mapping performant tel que
hibernate.
Par développement en couches j'entends : respecter MVC avec par exemple
struts + une partie modèle "propre".
Si c'est le premier, bon... pourquoi pas.
Si c'est l'une des autres, alors c'est certainement une mauvaise
solution
car ces trois solutions gèrent des caches qui rendent inutile de monter
lestables en mémoire.
Ah ca c'est interessant, je vais me documenter la dessus.
hibernate utilise JCS pour gere le cache, si jamais le passage en tout
Si c'est le premier, bon... pourquoi pas.
Si c'est l'une des autres, alors c'est certainement une mauvaise
solution
car ces trois solutions gèrent des caches qui rendent inutile de monter
les
tables en mémoire.
Ah ca c'est interessant, je vais me documenter la dessus.
hibernate utilise JCS pour gere le cache, si jamais le passage en tout
Si c'est le premier, bon... pourquoi pas.
Si c'est l'une des autres, alors c'est certainement une mauvaise
solution
car ces trois solutions gèrent des caches qui rendent inutile de monter
lestables en mémoire.
Ah ca c'est interessant, je vais me documenter la dessus.
hibernate utilise JCS pour gere le cache, si jamais le passage en tout
Bonjour à tous! :)
Bon, je profite de ce sujet pour 'rebondir' et l'étendre un peu! ;)
Le nouveau DI, en découvrant ce qui a été fait sur l'appli tombe des
nues "quoi, vous charger tous les utilisateurs en mémoire? Mais non faut
pas faire ca il faut faire des requête à la base, tu surcharge ta
mémoire pour rien!"
Alors, qu'en pensez vous? Quelle limite devrait t'on fixer a votre avis
à une telle opération de chargement? (700 objets utilisateur me semble
peu... surtout avec 512 meg de ram et un bi-pro...)
La question n'est pas bonne. Evidement, dans la mesure où tes accès SGBD
Bonjour à tous! :)
Bon, je profite de ce sujet pour 'rebondir' et l'étendre un peu! ;)
Le nouveau DI, en découvrant ce qui a été fait sur l'appli tombe des
nues "quoi, vous charger tous les utilisateurs en mémoire? Mais non faut
pas faire ca il faut faire des requête à la base, tu surcharge ta
mémoire pour rien!"
Alors, qu'en pensez vous? Quelle limite devrait t'on fixer a votre avis
à une telle opération de chargement? (700 objets utilisateur me semble
peu... surtout avec 512 meg de ram et un bi-pro...)
La question n'est pas bonne. Evidement, dans la mesure où tes accès SGBD
Bonjour à tous! :)
Bon, je profite de ce sujet pour 'rebondir' et l'étendre un peu! ;)
Le nouveau DI, en découvrant ce qui a été fait sur l'appli tombe des
nues "quoi, vous charger tous les utilisateurs en mémoire? Mais non faut
pas faire ca il faut faire des requête à la base, tu surcharge ta
mémoire pour rien!"
Alors, qu'en pensez vous? Quelle limite devrait t'on fixer a votre avis
à une telle opération de chargement? (700 objets utilisateur me semble
peu... surtout avec 512 meg de ram et un bi-pro...)
La question n'est pas bonne. Evidement, dans la mesure où tes accès SGBD
plus vite. Cependant, tu rencontreras tôt ou tard un problème de ta ille de
cette collection dû à deux problèmes :
- augmentation du nombre d'objets
Oui, bien sûr! Mais dans mon cas, le nombre d'employé ne doublera pas ,
- augmentation du nombre de champs dans ces objets
Hum... Peu probable... un appli bien concue à mon avis ne va pas voir l e
Pour éviter ça, plusieurs solutions s'offrent à toi :
- ne gérer que les attributs utilisés dans tes tris, et ne charger
complètement que les employés dont tu affiche la fiche
Tout a fait, c'est une possibilitée envisagée en effet pour
- utiliser une weakhashmap, ou tout autre collection permettant d'oubl ier
peu à peu des données, ce qui évitera une surcharge du serveur.
Bon. Pourrais tu développer un peu car je ne connais malheureusement pa s
Enfin, ça ça n'est que l'avis de quelqu'un qui n'a jamais touché aux EJBs.
peut-être y a-t-il là une solution plus élégante, dont Jérô me pourra te
parler.
Je n'aime pas trop les ejbs... trop usine à gaz!!
plus vite. Cependant, tu rencontreras tôt ou tard un problème de ta ille de
cette collection dû à deux problèmes :
- augmentation du nombre d'objets
Oui, bien sûr! Mais dans mon cas, le nombre d'employé ne doublera pas ,
- augmentation du nombre de champs dans ces objets
Hum... Peu probable... un appli bien concue à mon avis ne va pas voir l e
Pour éviter ça, plusieurs solutions s'offrent à toi :
- ne gérer que les attributs utilisés dans tes tris, et ne charger
complètement que les employés dont tu affiche la fiche
Tout a fait, c'est une possibilitée envisagée en effet pour
- utiliser une weakhashmap, ou tout autre collection permettant d'oubl ier
peu à peu des données, ce qui évitera une surcharge du serveur.
Bon. Pourrais tu développer un peu car je ne connais malheureusement pa s
Enfin, ça ça n'est que l'avis de quelqu'un qui n'a jamais touché aux EJBs.
peut-être y a-t-il là une solution plus élégante, dont Jérô me pourra te
parler.
Je n'aime pas trop les ejbs... trop usine à gaz!!
plus vite. Cependant, tu rencontreras tôt ou tard un problème de ta ille de
cette collection dû à deux problèmes :
- augmentation du nombre d'objets
Oui, bien sûr! Mais dans mon cas, le nombre d'employé ne doublera pas ,
- augmentation du nombre de champs dans ces objets
Hum... Peu probable... un appli bien concue à mon avis ne va pas voir l e
Pour éviter ça, plusieurs solutions s'offrent à toi :
- ne gérer que les attributs utilisés dans tes tris, et ne charger
complètement que les employés dont tu affiche la fiche
Tout a fait, c'est une possibilitée envisagée en effet pour
- utiliser une weakhashmap, ou tout autre collection permettant d'oubl ier
peu à peu des données, ce qui évitera une surcharge du serveur.
Bon. Pourrais tu développer un peu car je ne connais malheureusement pa s
Enfin, ça ça n'est que l'avis de quelqu'un qui n'a jamais touché aux EJBs.
peut-être y a-t-il là une solution plus élégante, dont Jérô me pourra te
parler.
Je n'aime pas trop les ejbs... trop usine à gaz!!
Bonjour,
Oui, bien sûr! Mais dans mon cas, le nombre d'employé ne doublera pas,
compte tenu de la politique de la société. Je ne dépasserais donc
probablement pas la taille de 1000 employés au pire. Ca me semble donc
encore raisonnable! :) (et puis ce ne sont pas de gros objets...)
Hum... Peu probable... un appli bien concue à mon avis ne va pas voir
le nombre de champs doubler du jour au lendemain.
Tout a fait, c'est une possibilitée envisagée en effet pour
"eventuellement" décharger un peu tout ca.
Bon. Pourrais tu développer un peu car je ne connais malheureusement
pas les weakhashmap... :(
Eh, eh ! C'est une collection du package java.util implémentant
Ceci dit, même en prenant en compte tous ces aspects, cela ne justifie
quand meme toujours pas à mon humble avis une requete envoyée au
serveur a chaque affichage d'une vue du site par un utilisateur...
Bonjour,
Oui, bien sûr! Mais dans mon cas, le nombre d'employé ne doublera pas,
compte tenu de la politique de la société. Je ne dépasserais donc
probablement pas la taille de 1000 employés au pire. Ca me semble donc
encore raisonnable! :) (et puis ce ne sont pas de gros objets...)
Hum... Peu probable... un appli bien concue à mon avis ne va pas voir
le nombre de champs doubler du jour au lendemain.
Tout a fait, c'est une possibilitée envisagée en effet pour
"eventuellement" décharger un peu tout ca.
Bon. Pourrais tu développer un peu car je ne connais malheureusement
pas les weakhashmap... :(
Eh, eh ! C'est une collection du package java.util implémentant
Ceci dit, même en prenant en compte tous ces aspects, cela ne justifie
quand meme toujours pas à mon humble avis une requete envoyée au
serveur a chaque affichage d'une vue du site par un utilisateur...
Bonjour,
Oui, bien sûr! Mais dans mon cas, le nombre d'employé ne doublera pas,
compte tenu de la politique de la société. Je ne dépasserais donc
probablement pas la taille de 1000 employés au pire. Ca me semble donc
encore raisonnable! :) (et puis ce ne sont pas de gros objets...)
Hum... Peu probable... un appli bien concue à mon avis ne va pas voir
le nombre de champs doubler du jour au lendemain.
Tout a fait, c'est une possibilitée envisagée en effet pour
"eventuellement" décharger un peu tout ca.
Bon. Pourrais tu développer un peu car je ne connais malheureusement
pas les weakhashmap... :(
Eh, eh ! C'est une collection du package java.util implémentant
Ceci dit, même en prenant en compte tous ces aspects, cela ne justifie
quand meme toujours pas à mon humble avis une requete envoyée au
serveur a chaque affichage d'une vue du site par un utilisateur...
Hum... Peu probable... un appli bien concue à mon avis ne va pas voir
le nombre de champs doubler du jour au lendemain.
Même sns doubler, l'ajout d'un ou deux champs pourrait augmenter la
taille de tes objets, non ?
C'est vrai... c'est un argument a peser.
Tout a fait, c'est une possibilitée envisagée en effet pour
"eventuellement" décharger un peu tout ca.
Je te la déconseille toutefois, car elle induit la mise en place de
mécanismes de vérifications de validité de tes objets, assez lour ds à
coder (typiquement, plaquer des if(toto!=null) partout).
tout a fait!
Eh, eh ! C'est une collection du package java.util implémentant
l'interface Map. Son principal secret est de fournir des clés
n'interdisant pas le déréférencement. Ce qui fait qu'un objet de cette
table peut être garbage collecté. Ca diminue l'empreinte mémoire, mais en
contrepartie ton objet est perdu. L'avantage dans ton cas, c'est que te s
objets peuvent être recréés à partir de la base. En fait, ça revient
simplement à dispsoer d'un cache de données indépendant de ta bas e.
Ca a l'air tres bien tout ca, mais comment peut on compter sur une
Bien sûr que non ! L'objectif est de décorréler au maximum l'accè s au
SGBD et les accès du client.
Ca me fait plaisir de te l'entendre dire! :)
Je te conseille quand même de jeter un coup d'oeil à des outils de
mapping O/R, comme OJB et autres, qui devraient te permettre de conserv er
des objets Java correspondant au contenu de ta base, sans avoir à te
faire de souci sur les accès à celle-ci. Enfin, je crois.
Et bien ma fois j'ai commencé à regarder! :)
Hum... Peu probable... un appli bien concue à mon avis ne va pas voir
le nombre de champs doubler du jour au lendemain.
Même sns doubler, l'ajout d'un ou deux champs pourrait augmenter la
taille de tes objets, non ?
C'est vrai... c'est un argument a peser.
Tout a fait, c'est une possibilitée envisagée en effet pour
"eventuellement" décharger un peu tout ca.
Je te la déconseille toutefois, car elle induit la mise en place de
mécanismes de vérifications de validité de tes objets, assez lour ds à
coder (typiquement, plaquer des if(toto!=null) partout).
tout a fait!
Eh, eh ! C'est une collection du package java.util implémentant
l'interface Map. Son principal secret est de fournir des clés
n'interdisant pas le déréférencement. Ce qui fait qu'un objet de cette
table peut être garbage collecté. Ca diminue l'empreinte mémoire, mais en
contrepartie ton objet est perdu. L'avantage dans ton cas, c'est que te s
objets peuvent être recréés à partir de la base. En fait, ça revient
simplement à dispsoer d'un cache de données indépendant de ta bas e.
Ca a l'air tres bien tout ca, mais comment peut on compter sur une
Bien sûr que non ! L'objectif est de décorréler au maximum l'accè s au
SGBD et les accès du client.
Ca me fait plaisir de te l'entendre dire! :)
Je te conseille quand même de jeter un coup d'oeil à des outils de
mapping O/R, comme OJB et autres, qui devraient te permettre de conserv er
des objets Java correspondant au contenu de ta base, sans avoir à te
faire de souci sur les accès à celle-ci. Enfin, je crois.
Et bien ma fois j'ai commencé à regarder! :)
Hum... Peu probable... un appli bien concue à mon avis ne va pas voir
le nombre de champs doubler du jour au lendemain.
Même sns doubler, l'ajout d'un ou deux champs pourrait augmenter la
taille de tes objets, non ?
C'est vrai... c'est un argument a peser.
Tout a fait, c'est une possibilitée envisagée en effet pour
"eventuellement" décharger un peu tout ca.
Je te la déconseille toutefois, car elle induit la mise en place de
mécanismes de vérifications de validité de tes objets, assez lour ds à
coder (typiquement, plaquer des if(toto!=null) partout).
tout a fait!
Eh, eh ! C'est une collection du package java.util implémentant
l'interface Map. Son principal secret est de fournir des clés
n'interdisant pas le déréférencement. Ce qui fait qu'un objet de cette
table peut être garbage collecté. Ca diminue l'empreinte mémoire, mais en
contrepartie ton objet est perdu. L'avantage dans ton cas, c'est que te s
objets peuvent être recréés à partir de la base. En fait, ça revient
simplement à dispsoer d'un cache de données indépendant de ta bas e.
Ca a l'air tres bien tout ca, mais comment peut on compter sur une
Bien sûr que non ! L'objectif est de décorréler au maximum l'accè s au
SGBD et les accès du client.
Ca me fait plaisir de te l'entendre dire! :)
Je te conseille quand même de jeter un coup d'oeil à des outils de
mapping O/R, comme OJB et autres, qui devraient te permettre de conserv er
des objets Java correspondant au contenu de ta base, sans avoir à te
faire de souci sur les accès à celle-ci. Enfin, je crois.
Et bien ma fois j'ai commencé à regarder! :)
Hum... Peu probable... un appli bien concue à mon avis ne va pas voir
le nombre de champs doubler du jour au lendemain.
Même sns doubler, l'ajout d'un ou deux champs pourrait augmenter la
taille de tes objets, non ?
C'est vrai... c'est un argument a peser.
Tout a fait, c'est une possibilitée envisagée en effet pour
"eventuellement" décharger un peu tout ca.
Je te la déconseille toutefois, car elle induit la mise en place de
mécanismes de vérifications de validité de tes objets, assez lourds à
coder (typiquement, plaquer des if(toto!=null) partout).
tout a fait!
Eh, eh ! C'est une collection du package java.util implémentant
l'interface Map. Son principal secret est de fournir des clés
n'interdisant pas le déréférencement. Ce qui fait qu'un objet de cette
table peut être garbage collecté. Ca diminue l'empreinte mémoire, mais en
contrepartie ton objet est perdu. L'avantage dans ton cas, c'est que tes
objets peuvent être recréés à partir de la base. En fait, ça revient
simplement à dispsoer d'un cache de données indépendant de ta base.
Ca a l'air tres bien tout ca, mais comment peut on compter sur une
Bien sûr que non ! L'objectif est de décorréler au maximum l'accès au
SGBD et les accès du client.
Ca me fait plaisir de te l'entendre dire! :)
Je te conseille quand même de jeter un coup d'oeil à des outils de
mapping O/R, comme OJB et autres, qui devraient te permettre de conserver
des objets Java correspondant au contenu de ta base, sans avoir à te
faire de souci sur les accès à celle-ci. Enfin, je crois.
Et bien ma fois j'ai commencé à regarder! :)
Hum... Peu probable... un appli bien concue à mon avis ne va pas voir
le nombre de champs doubler du jour au lendemain.
Même sns doubler, l'ajout d'un ou deux champs pourrait augmenter la
taille de tes objets, non ?
C'est vrai... c'est un argument a peser.
Tout a fait, c'est une possibilitée envisagée en effet pour
"eventuellement" décharger un peu tout ca.
Je te la déconseille toutefois, car elle induit la mise en place de
mécanismes de vérifications de validité de tes objets, assez lourds à
coder (typiquement, plaquer des if(toto!=null) partout).
tout a fait!
Eh, eh ! C'est une collection du package java.util implémentant
l'interface Map. Son principal secret est de fournir des clés
n'interdisant pas le déréférencement. Ce qui fait qu'un objet de cette
table peut être garbage collecté. Ca diminue l'empreinte mémoire, mais en
contrepartie ton objet est perdu. L'avantage dans ton cas, c'est que tes
objets peuvent être recréés à partir de la base. En fait, ça revient
simplement à dispsoer d'un cache de données indépendant de ta base.
Ca a l'air tres bien tout ca, mais comment peut on compter sur une
Bien sûr que non ! L'objectif est de décorréler au maximum l'accès au
SGBD et les accès du client.
Ca me fait plaisir de te l'entendre dire! :)
Je te conseille quand même de jeter un coup d'oeil à des outils de
mapping O/R, comme OJB et autres, qui devraient te permettre de conserver
des objets Java correspondant au contenu de ta base, sans avoir à te
faire de souci sur les accès à celle-ci. Enfin, je crois.
Et bien ma fois j'ai commencé à regarder! :)
Hum... Peu probable... un appli bien concue à mon avis ne va pas voir
le nombre de champs doubler du jour au lendemain.
Même sns doubler, l'ajout d'un ou deux champs pourrait augmenter la
taille de tes objets, non ?
C'est vrai... c'est un argument a peser.
Tout a fait, c'est une possibilitée envisagée en effet pour
"eventuellement" décharger un peu tout ca.
Je te la déconseille toutefois, car elle induit la mise en place de
mécanismes de vérifications de validité de tes objets, assez lourds à
coder (typiquement, plaquer des if(toto!=null) partout).
tout a fait!
Eh, eh ! C'est une collection du package java.util implémentant
l'interface Map. Son principal secret est de fournir des clés
n'interdisant pas le déréférencement. Ce qui fait qu'un objet de cette
table peut être garbage collecté. Ca diminue l'empreinte mémoire, mais en
contrepartie ton objet est perdu. L'avantage dans ton cas, c'est que tes
objets peuvent être recréés à partir de la base. En fait, ça revient
simplement à dispsoer d'un cache de données indépendant de ta base.
Ca a l'air tres bien tout ca, mais comment peut on compter sur une
Bien sûr que non ! L'objectif est de décorréler au maximum l'accès au
SGBD et les accès du client.
Ca me fait plaisir de te l'entendre dire! :)
Je te conseille quand même de jeter un coup d'oeil à des outils de
mapping O/R, comme OJB et autres, qui devraient te permettre de conserver
des objets Java correspondant au contenu de ta base, sans avoir à te
faire de souci sur les accès à celle-ci. Enfin, je crois.
Et bien ma fois j'ai commencé à regarder! :)
Et LDAP alors !!
Il me semble que pour des ensembles de type entreprise / employés c'est ce
qu'il y a de mieux.
De plus pour les accès en lecture c'est le plus performant.
Et LDAP alors !!
Il me semble que pour des ensembles de type entreprise / employés c'est ce
qu'il y a de mieux.
De plus pour les accès en lecture c'est le plus performant.
Et LDAP alors !!
Il me semble que pour des ensembles de type entreprise / employés c'est ce
qu'il y a de mieux.
De plus pour les accès en lecture c'est le plus performant.