anpera.net

anpera.net

experimental server @home
Aktuelle Zeit: Fr 29 Mär, 2024 09:51

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Di 11 Jan, 2011 19:50 
Offline
Eingeweihter
Eingeweihter

Registriert: Mo 31 Aug, 2009 09:26
Beiträge: 67
Geschlecht: Männlich
LoGD: http://nydoria.at
Nachdem ja die Anpera Version Schlüssel für Häuser als Items handhabt hab ich mich gefragt, welche Vor- und Nachteile das hat, und welche Vor- und Nachteile andere Systeme haben die man dafür benutzen könnte (Also z.B. das alles in einem Array zu speichern).
Und hätte es evtl. Vorteile wenn man die Schlüssel u Einladungen in eine eigene Tabelle packt wenn man sie als Items handhabt?
Blicke nämlich nicht so ganz durch warum es so gemacht wurde, und ob welche Gründe eben dafür sprechen, und welche für was anderes :-)


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mi 12 Jan, 2011 10:52 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
Schlüssel sind Gegenstände, Gegenstände gehören in die item-Tabelle. Warum eine zusätzliche Tabelle, wenns die item-Tabelle genauso tut? Das kann man prinzipiell auf die Spitze treiben und sogar die Waffen aus den Accounts nehmen und dorthin verschieben. Ich bin sogar soweit gegangen, dass sogar das Gold ein Item ist.

Vorteile? Vor allem das Verschieben von Gegenständen ist einfach - man kann damit elegant den Transferbug ("Verlorenes Update") umschiffen. Man kann einfach fehlende Schlüssel erkennen und sie Ersetzen. Und einfach einzelne Schlüssel ansprechen.

Was soll dir ein Array bringen? Arrays sind keine Wunderlösung, vor allem nicht mit MySQL zusammen (Wenn, dann eher mit PostGres, das scheint Arrays zu unterstützen). Arrays sind unflexible Strings und werden schnell unnötig gross. Wozu ein Array mit 20 Schlüsseln laden, wenn man sowieso nur einen braucht? Wozu ein Array eines Schlüssels laden, um nur einen Wert zu ändern?

Die Arrays, die in der Account-Table sind, sind mehr "Logs". Man braucht sie eigentlich nur einmalig (sieht man vom buff-Feld ab). Der grosse Unterschied dieser Werte zu Einladungen oder Schlüssel ist aber: Man braucht sie nur innerhalb des Accounts und nicht accountübergreifend - sie müssen also nicht flexibel sein. Schlüssel, die ja zwei Zugehörigkeiten haben (Besitzer und Haus), schon.


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mi 12 Jan, 2011 11:59 
Offline
Eingeweihter
Eingeweihter

Registriert: Mo 31 Aug, 2009 09:26
Beiträge: 67
Geschlecht: Männlich
LoGD: http://nydoria.at
Die Frage rührt im Grunde daher, dass ich keine Ahnung habe wie die MySQL Datenbank intern arbeitet. Als normaler Mensch ziehe ich da die Möglichkeit in betracht, dass es "einfacher" (schneller) ist etwas in der Schublade "Schlüssel" zu finden wenn da nur Schlüssel drinnen sind, und auch einfacher etwas in der Schublade Items zu finden wenn da keine Schlüssel drinnen sind (vor allem da die ja pro Haus zu vielt generiert werden).
Und da stelle ich es mir auch einfacher vor eine "Schatulle" (Array) in dem z.B. alle ausgesprochenen Einladungen von XY sind zu finden, als wenn diese einzeln zu suchen sind.
Aber es könnte ja auch sein, dass MySQL die Göttin aller Sucher ist und ihr das alles völlig egal ist (wobei ich schon annehme, dass es Unterschiede gibt) aber sie nur einen furchtbaren Boten hat der das alles mitnimmt und zum PHP File trägt - das hieße besser umfangreich suchen aber nur wenig mitnehmen.
Aber da ich wie gesagt nicht weiß wie MySQL arbeitet stellt sich mir eben diese Frage.

Und da erschien es mir im ersten Überdenken irgendwie brauchbarer lieber ein Array pro Y mit X Leuten anzulegen, als für jede Person aus X einen ganzen Datenbankeintrag mit 11 Einträgen.
Darum also brauche ich Vor- UND NACHteile der unterschiedlichen Möglichkeiten, damit ich so eine Entscheidung leichter treffen kann.

Das nochmal genauer wie es zu der Frage gekommen ist und warum sie aufgetaucht ist.

Und danke für die Antwort bis jetzt, das erklärt zumindest schoneinmal ein paar Vorteile von "als Items"


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 18 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen
Du darfst keine Antworten zu Themen in diesem Forum erstellen
Du darfst deine Beiträge in diesem Forum nicht ändern
Du darfst deine Beiträge in diesem Forum nicht löschen
Du darfst keine Dateianhänge in diesem Forum erstellen

Suche nach:
Gehe zu:  
cron
POWERED_BY
Deutsche Übersetzung durch phpBB.de
anpera.net - Impressum