Hallo Leute,
ich stehe vor folgendem Problem:
Ich habe aus einer MySQL-Datenbank mithilfe von drei
verschachtelten
Select-Statements und PHP, Daten in eine HTML-Tabelle
gebracht.
Ich möchte, dass der Benutzer zusätzlich die Möglichkeit hat,
die Tabelle im PDF bzw. XLS(Excel) Format herunterladen kann.
Version A:
Ist es möglich bzw. sinnvoll, die Daten beim Aufruf der
normalen Tabelle zusätzlich in einer XML-Datei abzuspeichern,
auf die ich dann mit dem XLS- bzw. PDF-Generierungsscript
(PHP) zugreife?
Klar möglich ist es. PHP kann dateienschreiben und textdateien/XML zu schreiben ist keine grosse sachen, hängt natürlich etwas von der komplexität der daten ab.
Version B:
Oder wäre es sinnvoller die kompletten select-Statements zu
kopieren und erneut drei Zugriffe auf die Datenbank abzusetzen
(wirkt sich auf Geschwindigkeit aus…)???
ich denke das ist der übliche trade of den man überlegen muss Rechenzeit gegen Speicher.
im fall der erneuten SQL abfrage für dein exporte hast du halt etwas mehr rechenzeit. dafür sprachst du speicherplatz da du kein „dokumenten“ cache vorhalten must. (und du sparts programmier aufwand weil du den cache nicht verwalten must.)
dann kannst du deine gecacheten daten wieder verwenden? oder ist warscheinlich das sie bei der nächsten abfrage veraltet sind.
jetzt ist die frage letze frage, wie viel rechenzeit macht denn so eine abfrage. und wieviele abfragen pro sekunde erwartest du später im live betrieb?
SQL server sind Eigendlich ziemlich flott dabei Daten rauszugeben (dafür sind sie schließlich entwickelt worden) deswegen denke ich so ein Festplatten Cache, wird sich nur rentieren wenn du hohe last auf den Datenbank Server erwartest. oder du denkst das daten im cache lange zeit aktuell bleiben. werden. und du dann effektiv auch die generierung neuer PDF’s und Exel daten einsparst. weil sie für 90% der abfragen schon fix und fertig bereit liegen währe es sicher gut so einen cache zu haben.
gruss chris
Was meint ihr?
Vielen Dank im Voraus!
Mit freundlichen Grüßen
B.