Einzelnen Beitrag anzeigen
  #1  
Alt 10.03.2009, 19:55:07
Alea Alea ist offline
Anfänger
 
Registriert seit: Mar 2009
Alter: 69
Beiträge: 2
Tabellen als Zwischenspeicher

Hallo,

mir geht es hier nicht um die Lösung eines Problems, sondern um die vorteilhafte Nutzung der internen MySql-Programmstruktur, von der ich leider keine Ahnung habe.

Ich verwende häufig Tabellen als Zwischenspeicher für die Ergebnisse von SELECT-Anweisungen (auch wenn Tabellen-Joins vielleicht hier und da eleganter sind).

Temporäre Tabellen verwende ich nicht, da ich die Zwischenergebnisse gelegentlich auch für Kontrollzwecke benötige.
Für die Erstellung der Zwischentabellen (mit gleichbleibenden Spaltenköpfen) gibt es nun zwei Möglichkeiten:

[a]
DROP TABLE IF EXISTS tabelle;
CREATE TABLE tabelle SELECT ...;

[b]
TRUNCATE TABLE tabelle;
INSERT INTO tabelle SELECT ...;

Bei [b] wird die vorhandene Tabelle ständig geschrumpft und erweitert. Ich kann mir denken, dass dabei "Speicherlöcher" entstehen. Trotzdem verwende ich bisher problemlos diese Methode, weil dann die Spalten schon die von mir gewünschten Datentypen haben. (Das ließe sich aber auch bei [a] durch vorgeschaltete CREATE TABLE Anweisungen erreichen.)

Ich überarbeite gerade meine Datenbank, deshalb die Frage:
Welche Methode ist aus Sicht der internen MySQL-Daten- und -Programmstruktur die optimalere, oder ist das vollkommen egal?
Mit Zitat antworten