MySQL Forums
Forum List  »  French

Re: durée de vie des tables temporaires
Posted by: Jean Molliné
Date: January 08, 2009 09:25AM

Par définition, une table temporaire (TEMPORARY TABLE) cesse d'exister à partir du moment où elle est supprimée explicitement avec un DROP ou bien implicitement à la fin de la session de connexion.

Ceci étant, compte tenu des volumes de données traités, utiliser une clause LIMIT n'est peut-être pas le choix le plus judicieux. Si on considère en outre la durée de vie d'une table temporaire par rapport à ce que je viens de mentionner en introduction, l'idée que j'explorerais consisterait à créer cette table temporaire à partir d'une connexion permanente (du genre mysql_pconnect() en PHP par exemple) de façon à conserver la session aussi longtemps que nécessaire et la table temporaire avec. Ensuite, on alimente cette table temporaire mais sans limite. Par contre, la table temporaire doit avoir impérativement sa propre colonne en clé primaire de type INT en AUTO_INCREMENT. De cette manière, les requête paginées ne comporteront plus la clause LIMIT très gourmande en ressource mais une clause WHERE mettant une restriction sur le minimum et sur le maximum de la valeur de la clé primaire de cette table temporaire, donc queleu chose du genre :
// code pour la page 2 :
...
WHERE temp_id >= 100000
  and temp_id < 200000
...
ou encore :
// code pour la page 8 :
...
WHERE temp_id >= 700000
  and temp_id < 800000
...

______________________________________________________________
Une question bien formulée, c'est un problème bien compris : ça représente déjà les 3/4 de la réponse ;)

Options: ReplyQuote


Subject
Views
Written By
Posted
5351
January 08, 2009 04:44AM
Re: durée de vie des tables temporaires
6455
January 08, 2009 09:25AM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.