php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 12.05.2005, 20:07  
Gast
 
Beiträge: n/a
Standard Effizienzfrage

Ich arbeite grade an einen Browsergame in PHP.
(Also gut, wird so wie ich mich kenne eh nie was werden, aber das tut nichts zur Sache geht mehr um die Überlegungen.)

Das Spiel soll einen durchaus aufwendigen Techtree mit mehreren baubaren Typen (Einheiten, Gebäude, so das übliche halt) haben.

Ich hab nun drei Möglichkeiten gesehen, diesen Techtree unterzubringen:

a) als Arrays in einer Datei, die per include eingebunden wird.
Vorteil: recht leicht einzubauen
Nachteil: Das Array frisst viel Speicher, weil jeder Skriptaufruf es komplett einliest

b) in der Spieldatenbank, die da hinter steht.
Vorteil: Man kann sich die Teile aus der DB holen, die man braucht, dh weniger Speicherverbrauch
Nachteil: langsam, Belastung für die DB

c) in einer einzelnen Datenbank auf dem Webserver
Vorteil: weniger Speicherverbrauch da man nur das holt, was man
braucht, keine Last auf der Spieldb
Nachteil: wahrscheinlich auch langsam, wobei wenn MySQL das komplett im Speicher halten lässt (ging doch irgendwie...) müsste es eigendlich noch fast fix funktionieren


Was würdet ihr machen? oder noch eine ganz andere Lösung?
Für eine Datenbanklösung würde noch sprechen, dass ich mit dem Gedanken spiele das ganze als C-Programm zu realisieren und nicht in PHP - und da gibt es so praktische Arrays nicht und man könnte fliessend wechseln
Grolli
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 12.05.2005, 21:51  
Gast
 
Beiträge: n/a
Standard

Zitat:
Also gut, wird so wie ich mich kenne eh nie was werden, aber das tut nichts zur Sache geht mehr um die Überlegungen.
Sehr gut... selbsterkenntniss ist der erste Schritt zur Besserung

Zitat:
Techtree
Mir ist dieser Begriff bis jetzt noch nicht geläufig.

Zitat:
Nachteil: Das Array frisst viel Speicher, weil jeder Skriptaufruf es komplett einliest
Da würde ich b bzw. c eher als "Speicherfressend" bezeichnen.

Zitat:
in der Spieldatenbank, die da hinter steht.
Ach nein wirklich, ihr arbeitet also schon mit Datenbanken... WOW

Zitat:
Man kann sich die Teile aus der DB holen, die man braucht, dh weniger Speicherverbrauch
Du meinst bestimmt mehr Transfervolumen...



Ich versteh noch nicht wo der Unterschied zwischen b und c liegt.

Aber ich würde es auf jedenfall... gar nicht machen ^^ nein... auf jedenfall mit entweder mit b/c machen. Aber das musst du im Enteffekt selbst entscheiden.
Ist halt davon abhängig ob du viel änders, bestimmte daten selektieren willst usw. jedes Davon hat vorteile. Ich persöhnlich würde auf jedenfall die Datenbank lösungen anhören.


Siehe auch: www.bgps.de.vu



--
 
Alt 13.05.2005, 06:52  
Gast
 
Beiträge: n/a
Standard

ich meinte schon Speicherverbrauch - der Unterschied zwischen Array und Datenbank ist, dass das Array bei JEDEM Skriptaufruf eingelesen wird, und die DB hat das ganze wenn dann nur einmal da
über Transfervolumen hab ich mir bisher keine Gedanken gemacht

Der Unterschied zwischen b und c ist, dass bei c die Datenbank lokal auf dem Webserver läuft (=zwei Datenbanken, weil die eigendliche SpielDB ist ja auch noch da) und bei b sofern vorhanden die externe Spieldb genutzt wird
 
Alt 13.05.2005, 10:39  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von grollmaniac
ich meinte schon Speicherverbrauch - der Unterschied zwischen Array und Datenbank ist, dass das Array bei JEDEM Skriptaufruf eingelesen wird, und die DB hat das ganze wenn dann nur einmal da
Eine DB verwendet man dann, wenn man die Funktionalität eines DBMS benötigt.
 
Alt 13.05.2005, 14:02  
Gast
 
Beiträge: n/a
Standard

und was ist ein DBMS?
 
Alt 13.05.2005, 14:06  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von grollmaniac
und was ist ein DBMS?
Ein DatenBankManagementSystem. ZB. MySQL ist ein solches.
 
Alt 13.05.2005, 14:06  
Erfahrener Benutzer
 
Registriert seit: 16.08.2007
Beiträge: 702
PHP-Kenntnisse:
Anfänger
Igäl befindet sich auf einem aufstrebenden Ast
Standard

Database Management System?
__________________
Das Recht auf Dummheit gehört zur Garantie der freien Entfaltung der Persönlichkeit.
Mark Twain
Igäl ist offline  
Alt 13.05.2005, 14:08  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von Igäl
Database Management System?
Jut, das ist die angelsächsische Schreibweise. <ggg>
 
Alt 13.05.2005, 14:09  
Erfahrener Benutzer
 
Registriert seit: 16.08.2007
Beiträge: 702
PHP-Kenntnisse:
Anfänger
Igäl befindet sich auf einem aufstrebenden Ast
Standard

*mein klickfinger tret* ma wieder zu langsam ^^
__________________
Das Recht auf Dummheit gehört zur Garantie der freien Entfaltung der Persönlichkeit.
Mark Twain
Igäl 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
Effizienzfrage woods Datenbanken 5 02.08.2005 08:06


Alle Zeitangaben in WEZ +2. Es ist jetzt 13:39 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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.