SQL - Spalte nummerieren
Und wieder eine schöne SQL-Geschichte. In einem Update-Skript soll eine Spalte neu durchnummeriert werden.
Man könnte sich ein Skript schreiben das einfach per SELECT
alle Elemente durchgeht, einen Zähler erhöht und mit
UPDATE
die entsprechende Spalte neu setzt. Nur hätte dies nach einem Test bei einer Tabelle mit 150.000 Einträgen
etwa 10 Stunden gedauert. Das kann also keine ernsthafte Lösung darstellen.
Also die Suchmaschine meines Vertrauens befragt und siehe da, man lässt einfach anstatt in einem Skript die Datenbank einen Zähler erhöhen:
SET @c := 0;
UPDATE test SET platz = ( SELECT @c := @c + 1 ) ORDER BY id ASC;
//Erster Zählerwert ist 1
Und das ganze Skript benötigt nur noch 10 Minuten. Das nenne ich mal Performancegewinn.
Und wenn bei den Einträgen eine Spalte nur erhöht werden soll, dann geht das noch einfacher:
UPDATE test SET platz = platz + 1 WHERE ...
Auch nicht schlecht. Man lernt nie aus.
Counter in CSS
Wussen sie schon, dass CSS Zählvariablen enthält. Sie können in den CSS-Regeln die Variable verändern und ausgeben. Dieser Artikel beschreibt einen praktisches Beispiel.
JDBC-Inserts beschleunigen
Inserts mit JDBC sind nicht sehr performant. Mit einem Trick kann man sie erheblich beschleunigen. Dieser Artikel zeigt wie es geht.