Während ich würde den sichtbaren Unterschied zwischen den beiden unwichtigen Lösung 2 wäre die "wahre" Methode der beiden.
Lösung 1 beinhaltet zwei Modifikationsabfragen, das heißt, eine Zeile in del_comments
zu erstellen und dann die Zeile in der Originaltabelle zu löschen, für die Sie MySQL vermutlich leichter durchsuchen könnten. Allerdings könnte man argumentieren: "Warum sollte eine einzige Tabelle voller Kommentare für jeden Thread vorhanden sein, wenn wir nur eine Tabelle mit Kommentaren für jeden einzelnen Thread haben könnten".
Lösung 2 beinhaltet eine einzige Modifikationsabfrage, das heißt, einen Booleschen Wert für eine bestehende Zeile zu ändern, wobei MySQL die deleted
Spalte jeder Zeile mit 0 vergleichen muss. Der gesamte Punkt von SQL besteht jedoch darin, Zeilen zu speichern Daten und Spalten von Daten, die für das relevant sind, also würde diese Lösung dem Grund entsprechen, warum Sie eine SQL-Datenbank an erster Stelle verwenden. Sie machen das mit ziemlicher Sicherheit Abfragen, die viel ‚heaver‘ sind, die einfach für die Zeilen überprüft, wo deleted
0.
ist, würde ich diese Lösung 1 argumentieren wäre weniger Speicher und platzsparend, aber das ist rein anekdotisch, aber ich kann sagen, Sie für eine Tatsache, dass es viel einfacher und viel einfacher für die Datenbankstruktur ist, Lösung 2 zu verwenden.
oh, vielen Dank für diese Antwort, Freund! es ist erstaunlich! –
Stellen Sie sich auch eine Situation vor, in der Sie sowohl gelöschte als auch nicht gelöschte Kommentare anzeigen müssten. Mit Lösung 1 müssten Sie aus _both_ Tabellen in _separate_ Instanzen lesen, die die Reihenfolge der Kommentare verschlechtern würden. – Shaw