Wie kann ich Daten in einer MySQL -Datenbank um 1 Sekunde ausgleichen?
-
09-09-2019 - |
Frage
Ich habe eine Reihe von Beiträgen in eine WordPress -Site importiert, die alle genau das gleiche Datum haben. Ich möchte die Postdaten bearbeiten, damit sie um eine Sekunde ausgeglichen werden.
Ich bin besorgt, dass es ein Leistungsproblem geben kann, wenn alle Daten gleich sind.
Weiß jemand schnell, um dies mithilfe von PHPMYADMIN zu erledigen, um die MySQL -Datenbank oder eine andere Methode zu bearbeiten?
Lösung
Sie könnten sie alle auf "jetzt" + id einstellen.
Es könnte so aussehen;
UPDATE wp_posts
SET createdDate = DATE_ADD(now(), INTERVAL wp_posts.wp_id SECOND);
Andere Tipps
Bevor Sie sich damit anlegen, schlage ich vor, dass Sie sicherstellen, dass dies tatsächlich ein Problem mit gleichzeitigen Zeiten hat.
Ich finde es ziemlich oft, dass es unbeabsichtigte Konsequenzen hat. Und ich wäre mäßig überrascht, wenn das Problem wirklich signifikant ist.
Es scheint mir, dass ich Vorschläge sehe, die alle Zeilen auf denselben Offset -Wert setzen.
Angenommen, Sie haben einen Ganzzahl -Ersatzschlüssel, und die Zeilen sind benachbart, können Sie verwenden
Tabelle aktualisieren
Setzen Sie myDate = date_add (my_date, intervall id - zweite)
Wo id zwischen und;
UPDATE table SET mydate = DATE_ADD(my_date, INTERVAL 1 SECOND);
SET @r := '2009-04-14';
UPDATE mytable
SET mydate = (@r := @r + INTERVAL 1 SECOND);
Oder in einer einzelnen Abfrage, wenn Sie den Sitzungszustand nicht behalten können:
UPDATE mytable,
(
SELECT @r := '2009-04-14'
) q
SET mydate = (@r := @r + INTERVAL 1 SECOND)