Performance Optimierung für Temporäre Tabellen
-
Ich habe beim Testen von i-doit bemerkt, dass bei jedem request Daten auf die Festplatte geschrieben werden. Das ist eigentlich unnötig, weil in der Datenbank kein Datensatz geändert wird, wenn nur Inhalte angezeigt werden.
Beim debuggen habe ich herausgefunden dass es an temporären Tabellen hängt. Temporäre Tabellen sind extrem eklig, weil sie intern Commits erfordern und so das System künstlich ausbremsen. Viel besser wäre, wenn die Tabellen als temporär gekennzeichnet werden und als Storage-Engine die MyISAM verwendet wird.
Ich habe unser Test-System wie folgt gepatched:
idoit-test:/var/www# diff ./src/classes/components/isys_component_list.class.php.orig ./src/classes/components/isys_component_list.class.php 451c451 < $l_strSQL = "CREATE TABLE {$l_tempTableName} (" . $l_strSQLTemp . ");"; --- > $l_strSQL = "CREATE TEMPORARY TABLE {$l_tempTableName} (" . $l_strSQLTemp . ") ENGINE=MyISAM;"; -
Hi,
vielen Dank für deinen Post. Uns ist er leider erst jetzt ins Auge gefallen.
Wir haben bereits ähnliche Änderungen für die neue Pro-Version vorgenommen und werden prüfen, ob wir weiter optimieren können.
Vielen Dank noch mal und lieben Gruß
Christian
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login