php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2010

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 28.06.2010, 08:59  
Erfahrener Benutzer
 
Benutzerbild von Sniper_Kotaro
 
Registriert seit: 04.03.2009
Beiträge: 303
PHP-Kenntnisse:
Anfänger
Sniper_Kotaro ist zur Zeit noch ein unbeschriebenes Blatt
Standard [Erledigt] Performantes auslesen von Text - File oder DB?

Hallo und guten Morgen!

Ich habe mal eine ganz generelle Frage:
Da ich momentan an einem riesigen Projekt sitze und die Übersetzung mache, habe ich mir die Frage gestellt, was performanter ist:
Die gute, alte language-file, mit der ich aktuell arbeite (in ihr stehen alle Texte in [bis dato] 2 Sprachen), die ~12.000 Zeilen hat, ODER wenn ich die Inhalte der language-file in einer DB-Tabelle verstauen würde.
Die 12.000 Zeilen sind auch längst noch nicht alles, da kommt noch einiges zu!
Ist eine Tabelle dafür zu übertrieben, oder sollte man die Überlegung doch wagen?

Ich freue mich auf eure Gedanken, die ihr diesbezüglich mit mir teilt

Schönen Start in die Woche noch euch allen!!
__________________
Sniper_Kotaro ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 28.06.2010, 10:07  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.269
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Da du aus einer Datenbanktabelle notfalls auch eine Cache-Datei generieren kannst, umgekehrt jedoch eher nicht, spricht das für eine DB.
__________________
"Nuschel ich?" - "Was?"
Chriz ist offline  
Alt 28.06.2010, 10:10  
Erfahrener Benutzer
 
Benutzerbild von Sniper_Kotaro
 
Registriert seit: 04.03.2009
Beiträge: 303
PHP-Kenntnisse:
Anfänger
Sniper_Kotaro ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Spricht nur diese Tatsache alleine dafür oder gibt es auch performante Ansätze?

Oder auch im Bezug auf die Größe der File/Tabelle.
Wie gesagt, momentan gibt es in der File ~12.000 Zeilen Text, das ist aber noch längst nicht alles, denn es wird noch einiges hinzukommen.
Selbst nach fertigstellung der aktuellen Übersetzung wird stetig neuer Text hinzugefügt.
Eignet sich dann für so viele "Datensätze" eher eine File oder ebenfalls eine Tabelle?
Lieber eine ganze Tabelle in einer DB vollmüllen oder eine File vollmüllen?
__________________
Sniper_Kotaro ist offline  
Alt 28.06.2010, 10:35  
Erfahrener Benutzer
 
Registriert seit: 30.07.2008
Beiträge: 1.169
PHP-Kenntnisse:
Fortgeschritten
xm22 sorgt für eine eindrucksvolle Atmosphärexm22 sorgt für eine eindrucksvolle Atmosphärexm22 sorgt für eine eindrucksvolle Atmosphäre
Standard

12k Zeilen?! Das lässt sich doch sicher auf mehrere Dateien verteilen, z. B. abhängig vom Einsatzgebiet..

Ich würde mal sagen, die Entscheidung DB/File hängt von Deiner Vorliebe und den Anforderungen ab. Kann man z.B. gettext auch über die DB machen? Allerdings sollte das alles kein Problem sein, wenn man den Zugriff auf die Übersetzungen kapselt. Dann kann man sich später immer noch anders entscheiden..
xm22 ist offline  
Alt 28.06.2010, 10:57  
Erfahrener Benutzer
 
Registriert seit: 15.04.2010
Beiträge: 813
PHP-Kenntnisse:
Fortgeschritten
Paul.Schramenko befindet sich auf einem aufstrebenden Ast
Standard

Spantan würde ich auch zu DB tendieren. Ein Filezugriff auf die Platte ist in der Regel langsamer als eine Db Abfrage.
__________________
"My software never has bugs, it just develops random features."
"Real programmers don't comment. If it was hard to write, it should be hard to understand!"
Positive Bewertungen sind nicht unwillkommen...
Paul.Schramenko ist offline  
Alt 28.06.2010, 12:21  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von Paul.Schramenko Beitrag anzeigen
Ein Filezugriff auf die Platte ist in der Regel langsamer als eine Db Abfrage.
Wie kommst du da drauf? Eine Datenbank speichert seine Daten auch in im Filesystem, muss also mindestens auch einen Dateizugriff machen (meist mehr).
Flor1an ist offline  
Alt 28.06.2010, 12:40  
Neuer Benutzer
 
Registriert seit: 25.06.2010
Beiträge: 7
PHP-Kenntnisse:
Anfänger
ChaOs befindet sich auf einem aufstrebenden Ast
Standard

Ein tolles Thema ^_^
Japp, DB ist auch File-System.
Zitat:
12k Zeilen?! Das lässt sich doch sicher auf mehrere Dateien verteilen, z. B. abhängig vom Einsatzgebiet.
*rechtgeb* -> Mehr Unterteilungen -> Baumstruktur dürfte das ganze etwas schneller gestalten
[Menü1] -> Begriff1, Begriff2, Begriff3, Begriff4...
[Menü2] -> Begriff5, Begriff6, Begriff7, Begriff8...

Jetzt muss mann nur noch die Objekte zuweisen
ChaOs ist offline  
Alt 28.06.2010, 13:26  
Erfahrener Benutzer
 
Benutzerbild von Sniper_Kotaro
 
Registriert seit: 04.03.2009
Beiträge: 303
PHP-Kenntnisse:
Anfänger
Sniper_Kotaro ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Danke für all eure tollen Antworten ^^
Also ist es, performance-mäßig, egal ob ich es direkt alles in eine file oder in eine DB-Tabelle speichere?
Falls ja, dann kann ich die Struktur hier beibehalten.
Wenn ich mal viel Zeit habe, dann kann ich mal schauen, ob ich es über mehrere Dateien verstreuen kann, so wie ihr empfohlen habt
__________________
Sniper_Kotaro ist offline  
Alt 28.06.2010, 13:30  
Erfahrener Benutzer
 
Registriert seit: 15.04.2010
Beiträge: 813
PHP-Kenntnisse:
Fortgeschritten
Paul.Schramenko befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Flor1an Beitrag anzeigen
Wie kommst du da drauf? Eine Datenbank speichert seine Daten auch in im Filesystem, muss also mindestens auch einen Dateizugriff machen (meist mehr).
Das ist klar, aber eine datei komplett einzulesen und dann zu suchen ist in der Regel langsamer als aus der Db die direkt benötigten Daten zu holen. Das die Datenbank die Daten auf der Platte speichert ist ja klar. Zumindest habe bisher immer das Gefühl gehabt.
__________________
"My software never has bugs, it just develops random features."
"Real programmers don't comment. If it was hard to write, it should be hard to understand!"
Positive Bewertungen sind nicht unwillkommen...
Paul.Schramenko ist offline  
Alt 28.06.2010, 13:38  
Erfahrener Benutzer
 
Registriert seit: 04.07.2003
Beiträge: 359
PHP-Kenntnisse:
Fortgeschritten
Sirke befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Sniper_Kotaro Beitrag anzeigen
Also ist es, performance-mäßig, egal ob ich es direkt alles in eine file oder in eine DB-Tabelle speichere?
Jain, so würde ich das auf keinen Fall sagen! Die Datenbank hat den Vorteil, dass du performant auf Datensätze zugreifen kannst samt Sortierung, Gruppierung und mehr und den Nachteil, dass die Abfragesprache einen gewissen Overhead mitsichbringt. Mit einem eigenen Filesystem kannst du diese Teile selbstverständlich auch implementieren, aber dabei viele Fehler machen, die die Performance stark nach unten drücken...

Die Funktionen file() und file_get_contents() mögen z.B. leicht zu handeln sein, aber wenn du damit diese Menge an Daten ließt oder auf andere Weise immer komplette Dateien einließt, dann wirst du mit einer Datenbank sicherlich schneller sein.
Hast du hingegen Metainformationen in der Datei hinterlegst, sodass du den Zeiger an die richtige Position setzen kannst und dadruch nur die erforderlichen Daten ausließt, dann kann diese Methode schneller sein!
Sirke ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

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 an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] CSV-Datei erstellen und Daten reinschreiben DiaryOfDreams PHP Tipps 2010 6 04.06.2010 11:07
Verschachtelte Auswahlfenster RichieG PHP Tipps 2010 3 10.03.2010 07:58
[Erledigt] CSS Problem, Links ausrichten monk HTML, Usability und Barrierefreiheit 7 09.03.2010 20:33
per $_POST den text eines dropdown auslesen? lape PHP Tipps 2009 5 12.12.2009 10:40
Text Ersetzen an anderer Stelle phpde Off-Topic Diskussionen 6 03.08.2009 20:12
CSS - Bild im div container überlappt andere container Buschdieb HTML, Usability und Barrierefreiheit 13 19.07.2007 23:17
CSS - Design (clear - Problem) HTML, Usability und Barrierefreiheit 7 21.12.2005 14:55
Text datei geordnet auslesen!! lindner PHP Tipps 2007 7 18.11.2005 09:52
Text aus der DB verteilen PHP Tipps 2007 17 16.11.2005 12:04
URLs aus text auslesen PHP Tipps 2005-2 6 17.09.2005 01:03
libmysqlclient.so.10 is needed Datenbanken 11 20.06.2005 15:27
[Erledigt] DIV´s wollen nicht wie ich das will :-) HTML, Usability und Barrierefreiheit 22 28.03.2005 18:36
[Erledigt] Auslesen von Text incl. " aus Textfeld PHP Tipps 2007 4 04.01.2005 13:30
Auslesen von Datenbank-Feld (Text mit nl2br formatierung) Beatbox PHP Tipps 2004-2 1 28.11.2004 18:10
txt-Datei erstellen d-81 PHP Tipps 2004 12 11.08.2004 20:31

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php txt auslesen, php textfile auslesen, db file auslesen, datenbank zugriff schneller als datei lesen php, datenbank in datei auslesen php, php datei einlesen oder db was geht schneller, textdb php, txt file in datenbank, was ist schneller files auslesen oder datenbank auslesen php, php datenbank schneller als datei auslesen, text aus datenbank auslesen php, php daten aus datenbank auslesen performance, schneller aus text oder db, datei oder datenbank schneller, text aus db php, php datenbank in datei auslesen, performance php text db, php datei auslesen oder datenbank schneller, performance php txt file, \txt-datei \\db\ performance

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:06 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum