Zunächst ein Disclaimer - mein Job ist die Berichterstattung, so dass ich mit weitaus komplexeren Abfragen zu tun habe als jeder normale Entwickler. Wenn Sie eine einfache CRUD-Anwendung (Create Read Update Delete) schreiben (das sind die meisten Webanwendungen), dann wollen Sie wirklich keine komplexen Abfragen schreiben, und Sie machen wahrscheinlich etwas falsch, wenn Sie temporäre Tabellen erstellen müssen.
Abgesehen davon verwende ich temporäre Tabellen in Postgres für eine Reihe von Zwecken, und die meisten lassen sich auf MySQL übertragen. Ich verwende sie, um komplexe Abfragen in eine Reihe von einzeln verständlichen Teilen zu zerlegen. Ich verwende sie für die Konsistenz - indem ich einen komplexen Bericht durch eine Reihe von Abfragen generiere und dann einige dieser Abfragen in Module auslagern kann, die ich an mehreren Stellen verwende, kann ich sicherstellen, dass verschiedene Berichte miteinander konsistent sind. (Und ich kann sicherstellen, dass ich, wenn ich etwas korrigieren muss, dies nur einmal tun muss.) Und in seltenen Fällen verwende ich sie absichtlich, um einen bestimmten Abfrageplan zu erzwingen. (Versuchen Sie das nicht, wenn Sie nicht wirklich wissen, was Sie tun!)
Deshalb finde ich temporäre Tabellen großartig. Aber das heißt, es ist sehr Es ist wichtig, dass Sie verstehen, dass es im Allgemeinen zwei Arten von Datenbanken gibt. Die erste ist für die Verarbeitung vieler kleiner Transaktionen optimiert, die andere für die Verarbeitung einer kleineren Anzahl komplexer Berichte. Die beiden Typen müssen unterschiedlich eingestellt werden, und ein komplexer Bericht, der auf einer transaktionalen Datenbank ausgeführt wird, birgt die Gefahr, dass Transaktionen blockiert werden (und somit die Webseiten nicht schnell genug zurückkehren). Daher sollten Sie es nicht vermeiden, eine Datenbank für beide Zwecke zu verwenden.
Ich vermute, dass Sie eine Webanwendung schreiben, die eine transaktionale Datenbank benötigt. In diesem Fall sollten Sie keine temporären Tabellen verwenden. Wenn Sie komplexe Berichte aus Ihren Transaktionsdaten erstellen müssen, empfiehlt es sich, regelmäßig (z. B. täglich) Backups zu erstellen, diese auf einem anderen Rechner wiederherzustellen und dann die Berichte auf diesem Rechner auszuführen.