|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre éclairé
![]() |
Bonjour.
Je me demandais s'il était beaucoup plus avantageux de créer une table temporaire pendant un traitement, ou avoir la table qui existe vraiment et la vider à la fin du traitement. Y a-t-il un réel avantage ? Je dois faire une application qui doit être portable, et d'après ce que j'en ai vu, la gestion SQL des tables temporaires diffèrent suivant les SGBD. Donc si cela apporte un réel avantage, je m'arrangerai pour que ça reste portable en testant sur quel SGBD je suis. Mais ça m'embête un peu de le faire si ça n'apporte pas grand chose de plus qu'une "vraie" table. Avez vous des éléments là dessus ? Merci d'avance. |
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() Inscription : octobre 2003 Messages : 2 714 ![]() |
Salut,
Les tables temporaires sont à utiliser, me semble-t-il, pour stocker un resultat temporaire issue d'une table plus grosse, et il peut y avoir plusieurs tables temporaires pour la même opération fonctionnelle; elles sont identifiées par un numéro de session par exemple. Avantages : Tu accèlères grandement le traitement, une fois les enregistrements récupérés, tu n'as plus à te soucier de la volumétrie. De plus, un autre avantage, est que tu as une trace de ce qui a été fait, c'est utile lorsque les modifications / insertions doivent être validées par un administrateur par exemple. Inconvénients : Tu dois gérer le purge des tables inutilisées. De plus, en fonction de SGBD, il faut que tu aies accès à un tablespace pour créer tes tables, et que ça ne pose pas de problème aux administrateurs de ta base; ce qui est rarement le cas ! Finalement, ça ajoute des tables qui polluent ton modèle original, à moins que tu n'aies prit le soin de créer un schéma rien que pour tes tables temporaires. Je pense que ça s'applique bien à certaines situations; il faut cependant ne pas l'utiliser pour n'importe quoi, donc si tu peux donner une piste sur l'utilisation que tu en auras, je peux te dire si ça convient selon moi ou non A+
__________________
K |
|
|
00
|
|
|
#3 |
|
Membre éclairé
![]() |
Merci pour ta réponse.
En fait, il n'y aurait qu'une seule table qui pourrait éventuellement accueillir plusieurs centaines de milliers d'enregistrements pendant un traitement. Ce traitement va lire des infos un peu partout et stocker ce qui est interressant dans cette fameuse table. Je reparcourerai ensuite cette table pour y faire une sorte de tri et insérer definitement les bons éléments dans la base. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com