Gast Penman Geschrieben 17. Oktober 2011 Teilen Geschrieben 17. Oktober 2011 Morgen Community, ich habe ein einfaches Problem, bei dem ich nicht weiß, wie ich es besser lösen kann. Es geht mir eigentlich nur um die Performance. Und zwar geht es um folgendes: Ich habe ein fertiges PHP-Script, welches aber miserabel geschrieben ist. Quellcode darf ich wegen Urheberrecht nicht zeigen, aber ich erkläre kurz: Für alles ein MySQL QueryTabellenschlüssel aus StringsSehr häufig Stringvergleiche, wo Flags angebracht wären$tabelle_zeile[field] - Alles Denglisch und Konstanten als Arrayfeldbezeichner... Nun zu dem Punkt. Die Performance des Scripts wird immer langsamer, weil die Datenbank inzwischen ziemlich groß und mit Hackfixes zugebaut wurde, deswegen ist mir jeder Funken Performance wichtig. Es geht um eine Logik, zu prüfen, ob ein Tag ein Feiertag ist. Nach der bisherigen Programmierung, wenn man einen Monat ausgeben möchte, wir in einer Schleife bei jedem Tag ein folgender Query durchgeführt: "select * from feiertage where tag = '$suchdatum'" Ich bin schwer der Meinung, dass das die schlechteste Lösung ist, die man wählen könnte. Meine Idee wäre, einfach alle Feiertage im Bereich des Monats vorher abzufragen und in ein Array zu speichern. Während der Schleifendurchläufe, wird dann geprüft, ob der jeweilige Tag in dem Array vorhanden ist (in_array); Gibt es dagegen etwas auszusetzen? 2. Frage: Vergleicht man besser ein MySQL Date (2011-17-10) oder lieber Timestamps, die vorher umgewandelt werden? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
CSharp92 Geschrieben 17. Oktober 2011 Teilen Geschrieben 17. Oktober 2011 Wieso versuchst du nicht erst, deine Ideen umzusetzen und dann die Geschwinigkeit des Scriptes zu messen? Dein Query Deren Query Deine zukünftigen Querys Somit hast du für dich ein neues Bild. Das bringt dir am ende am meisten Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Gast Penman Geschrieben 17. Oktober 2011 Teilen Geschrieben 17. Oktober 2011 Die Zeit. Warum selbst messen, wenn jemand schon einmal dieses Problem hatte und getestet hat? Es ist ja nicht so, als dass ich jetzt hier hänge und die F5-Taste ausleiere, sondern auch noch andere Dinge zu tun habe Bei der verkorksten Datenbank traue ich mich kaum noch, Joins zu verwenden, weil diese in Verbindung mit einem SUM() den Server 30 Sekunden lang zählen lassen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.