Hat ja auch jeder eine andere Perspektive aufgrund ganz unterschiedlicher Anforderungen. Ich hatte ja geschrieben, ich brauche möglichst einfache Mittel, um einfach nur Daten zu pumpen. Bei MariaDB hatte ich A) wesentlich größere Blöcke und B) sowas simples wie Multi-Row-Inserts:
INSERT INTO Tabelle (Feld1, Feld2) VALUES (1, 1), (2, 2), (3, 3), (4, 4), (5,5);
Macht in Summe genau 80 Zeichen. Bei Firebird habe ich stattdessen Execute-Blocks, womit für das selbe Ergebnis folgendes zu notieren wäre:
SQL-Code:
EXECUTE BLOCK AS BEGIN
INSERT INTO Tabelle (Feld1, Feld2) VALUES (1, 1);
INSERT INTO Tabelle (Feld1, Feld2) VALUES (2, 2);
INSERT INTO Tabelle (Feld1, Feld2) VALUES (3, 3);
INSERT INTO Tabelle (Feld1, Feld2) VALUES (4, 4);
INSERT INTO Tabelle (Feld1, Feld2) VALUES (5, 5);
END
Jetzt extrapoliere man das auf 50.000 Rows hoch, dann erkennt man den Overhead bei Firebird. Einfaches sprachliches Defizit würde ich sagen. In Kombination mit der geringen Blockgröße provoziert Firebird unnötig viele Requests und damit genau das Laster wo es ohnehin seine größte Schwäche hat (
TCP).
PS: Kommentare wie "Dann nimm doch wieder MariaDB" wären überflüssig. Es sind zwei völlig verschiedene Projekte und eine Migration steht nicht zur Debatte.