Portal > Foren > PHP > PHP-Programmierung > Performance: txt-DAtei vs. Datenbank
Antwort
 
Themen-Optionen
Alt 20.07.2007, 20:12 Nach oben    #1
Gabriel
 
Registriert seit: 27.09.2006
Ort: Radebeul
Beiträge: 406
Standard Performance: txt-DAtei vs. Datenbank

Hallo,
ich habe mal eine Frage, was ist schneller, wenn man eine Seite anhand einer DB generiert, oder diese aus einer Textdatei ausliest.

Ich würde ja denken letzteres bin mir aber nciht sicher.

Oder vlt anders, ab wann lohnt es sich txt-dateien cache zu nutzen (Abfragen anzahl)
__________________
kampfgnom ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 20.07.2007, 20:37 Nach oben    #2
Christian Schuhmann
 
Benutzerbild von bobby
 
Registriert seit: 09.03.2007
Ort: Nürnberg
Beiträge: 58
Standard

Hi Gabriel,

wenn du eine Textdatei auslesen möchtes muss diese immer komplett in den Speicher geladen werden. Irgendwann hast du dann eine 4 MB große Datei mit 50.000 Datensätzen - eine Datenbank braucht für solch einfache Abfragen Millisekunden.

Wenn du z.B. deinen Inhalt in eine Datei auslagerst, musst du immer auf das richtige Sperren (flock) der Datei achten.

Wenn es dir darum geht eine Anwendung zu schreiben, die ohne Datenbankserver auskommt, dann kannst du unter PHP5 auf SQLite[1] zurückgreifen.

bobby

[1] http://de2.php.net/SQLite
bobby ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 20.07.2007, 20:39 Nach oben    #3
Oliver O.
 
Benutzerbild von Xean
 
Registriert seit: 17.08.2005
Beiträge: 426
Standard

Also. ich hab vier dinge zu sagen:

- Such in Google. Es gibt x-Tausend Foren, wo diese Frage schon beantwortet ist, oder nicht. Hier gabs so weit ich weiß auch mal diese Frage, aber ich find sie nicht mehr.

- Um diese Frage hier zu beantworten: Man kann es nicht sagen. Bei einem großen Datenumfang ist eine Datenbank besser, aber es gibt Situationen, wo Dateien besser sein könnten. z.B. würde ich Einstellungen in eine Datei schreiben, aber alles andere in deine Datenbank.

- Und zu guter letzt: Gehört dieser Thread nicht in das Datenbank-Forum?

- Wenn es um Text-Dateien auslesen in PHP5 hab ich ein artikel gefunden (leider finde ich den auch nicht mehr), dass es da zu problemen kommen kann, wenn man den script sehr oft hintereinander ausführt. Ich kann aber nicht wirklich sagen, ob das stimmt.
Xean ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 20.07.2007, 21:26 Nach oben    #4
Gabriel
 
Registriert seit: 27.09.2006
Ort: Radebeul
Beiträge: 406
Standard

Ok, vlt war meine Frage schlecht gestellt. Es ging einfach darum, ab wann es sich lohnt zu cachen...so wie ich das verstanden habe, wird da für eine bestimmte seiteneinstellung der Content in eine Datei geladen und dann von der datei aufgerufen, und nach ner bestimmten zeit wieder erneuert.

Aber abwann lohnt sich sowas, ich meine ne Datenbank schafft so etwas, wie du gesagt hast, in millisekunden, aber wenn die datensätze größer werden, dann gibt es doch sicher verluste.

Vieleicht steh ich auch gerade aufm schlauch und verwechsel hier was...
__________________
kampfgnom ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 21.07.2007, 00:21 Nach oben    #5
Neuer Benutzer
 
Registriert seit: 23.05.2006
Ort: Meerbusch
Beiträge: 15
Standard

Die Notwendigkeit oder die Effizienz des Cachings, ob ein Caching stattfinden soll, was im Cache landen soll, wie es gecached werden soll usw. läßt sich meistens nur durch ein ordentliches Profiling feststellen und ist von der Betriebsumgebung und den Anforderungen an die Applikation abhängig.

Grundsätzlich gilt: Wenn der Aufwand für die Erzeugung des Ergebnisses (Abfrageergebnis bei einer Query, Content-Generierung, Berechnungsergebnisse) größer ist als der Aufwand für die Speicherung, Verwaltung und Auffindung des Cache-Eintrags ist, dann macht Caching Sinn.
carrib ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 21.07.2007, 11:37 Nach oben    #6
Benjamin Steininger
 
Benutzerbild von robo47
 
Registriert seit: 02.06.2005
Ort: weiher im tiefsten Odenwald
Beiträge: 1.177
Standard

Du hättest vielleicht gleich sagen sollen, dass es dir ums Cachen geht und nicht darum eine Art Datenbank in einer datei nachzubauen.

Also ich denke , ein echo file_get_contents('inhaltdateixy'); und z.b. ein Query zur Überprüfung wann die Seiteninhalte das letzte mal verändert wurden, ist mit sicherheit schneller wie alle Inhalte neu aus der Datenbank zu holen (was ja durchaus mehr als 1 Query sein kann) und dann kommt der meiner Meinung nach performance-lastigere Punkt, Inhalte + Templatedurch die Template-Engine jagen um sie auszugeben.

mfg
robo47
robo47 ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Problem bei Verarbeitung von Templates (Eigene Klassen) dago PHP-Programmierung 21 31.08.2006 16:02
Datenbank und Sicherheit sparrow Datenbanken 23 05.11.2005 17:45
Java findet Datei nicht Niki_Tesla Allgemeine Java-Programmierung 14 14.12.2004 22:31
Wie lese ich die Daten in einer txt datei in einem Array ein Eddi Allgemeine Java-Programmierung 1 29.10.2004 16:57
Daten von Formularfeld einer html Seite in eine txt. Datei Flotsche Enterprise Java 5 07.08.2004 20:05


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:55 Uhr.


Powered by vBulletin® Version 3.7.3 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44