SQL Wie Datenbank aufbauen ?

Alfadas schrieb:
SQL ist eine deklarative Sprache, deshalb kümmert sich der Anfrage-Optimierer um Performance.
Deine beiden Statements sollten (bei einem guten Optimierer) genau gleich schnell ablaufen.

Ich glaube der TO wird keinen zusätzlichen DB-Optimierer besitzen.
Wenn ich es richtig sehe möchte der TO aber ja die ID des zuletzt eingefügten Wertes ermitterln. Also geht es hier nicht um den INSERT (Auto_increment ist hier wohl das sinnvollste), sondern um ein SELECT des letzten Wertes.
Falls ich es nur falsch verstanden habe: Auto_increment zum anlegen nutzen und glücklich sein. Dann brauchst dich nicht drum zu kümmern
 
te one schrieb:
Ich glaube der TO wird keinen zusätzlichen DB-Optimierer besitzen.
Wenn ich es richtig sehe möchte der TO aber ja die ID des zuletzt eingefügten Wertes ermitterln. Also geht es hier nicht um den INSERT (Auto_increment ist hier wohl das sinnvollste), sondern um ein SELECT des letzten Wertes.
Falls ich es nur falsch verstanden habe: Auto_increment zum anlegen nutzen und glücklich sein. Dann brauchst dich nicht drum zu kümmern

Ja ich glaub, dass ichs falsch verstanden hab.
Der Titel deutet zwar auf den Datenbankaufbau hin, aber das Topic hat sich doch in eine andere Richtung fortgesetzt und ich war noch immer beim Datenbankaufbau.
Du hast natürlich Recht mit deinen Queries, falls er nur die ID des neuesten Tupels haben will.

Zum Query-Optimizer: MySQL als Datenbankmanagementsystem übernimmt die Überarbeitung jeder Eingabe.
Das ist extrem sinnvoll und notwendig, da sonst viel zu große Tabellen entstehen würden.
(Bsp: Tabelle1 join Tabelle2 (jede mit 1000 Tupeln). Der Join ist ein Kreuzprodukt mit anschließender Selektion und dann einer Projektion.
Dadurch würde man im ersten Schritt 1.000.000 Tupel erzeugen (Kreuzprodukt) und dann wieder fast alles verwerfen (Selektion).
Durch den Optimierer wirds einfach viel schneller.)
Ich arbeite leider kaum mit MySQL, deshalb weiß ich nicht, wie gut der arbeitet, aber ich kann mir vorstellen, dass zwischen äquivalenten Queries kaum Unterschiede in der Laufzeit bestehen. Bei solchen Queries wie hier musst du dir aber keine Sorgen um Performance machen.

Mfg
 
Ich möchte in die Diskussion nicht zu tief eingreifen, aber benutz mal MySQL WorkBench Community Edition, gibts kostenlos auf der MySQL Webseite und damit kannst du das Ganze als Datenbankmodel visuell mit allen Verknüpfungen erstellen und behälst den Überblick und kannst die Daten auch hier besser darstellen was du dir vorstellst.

Damit kannst du die ganze Datenbank modellieren, hast ein EER Diagram mit allen Entities und kannst diese dann direkt auf den Server abbilden.

SO, tschuldigung für den kurzen Off Topic Einwurf.
 
Zurück
Oben