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 ;)