Datentypen in der Datenbank

Bitte alle Bugs hier melden

Moderatoren: Moderatoren, Administratoren

Antworten
mario
Fighter
Beiträge: 16
Registriert: So Feb 19, 2006 2:08 pm

Datentypen in der Datenbank

Beitrag von mario »

hoi
wollte nur bescheid sagen, dass einige Felder in der DB an ihre Grenzen stoßen, dort müsste nachgebessert werden.

Siehe Rangliste, Punkte der Galaxien

1 System 3.7 3.7 45.045 2.147.483.647
2 System 2.10 2.10 58.519 2.147.483.647
3 System 1.8 1.8 70.861 2.147.483.647

alle drei die selben Punkte. Der Wert markiert nebenbei die obere Grenze des Int-Bereichs (kA ob es irgendwann einen Überlauf gibt, aber is ja auch wurscht)

kleiner Link dazu:
http://dev.mysql.com/doc/refman/5.1/de/numeric-types.html

MfG
Nomad
Administrator
Beiträge: 246
Registriert: Mo Sep 03, 2007 11:00 pm

Beitrag von Nomad »

Das dürfte wohl aus der Speedrunde sein, odeR? normalerweise kommt eigentlich ekiner an so hohe Werte, insofenr würde ich das jetzt nicht als kritisch bezeichnen, zumindest nicht für den Regelbetrieb.
mario
Fighter
Beiträge: 16
Registriert: So Feb 19, 2006 2:08 pm

Beitrag von mario »

jap ist aus der Speed.

Naja , wenn weiterhin Speedrunden laufen ist schon damit zu rechnen dass diese Grenze ab und an erreicht wird.

Die Änderung wär auch schnell gemacht ;)
Nomad
Administrator
Beiträge: 246
Registriert: Mo Sep 03, 2007 11:00 pm

Beitrag von Nomad »

naja, das was momentan als spped abläuft ist.. eher sinnfrei
mario
Fighter
Beiträge: 16
Registriert: So Feb 19, 2006 2:08 pm

Beitrag von mario »

Aber ist immernoch interessanter als die normale ... da dauerts ja noch bis man den TT durch hat und was ordentliches bauen kann :-(


Naja , das gehört wohl nich mehr zum Thema Datentypen ^^ , wenn der Fall nicht vorgesehen ist dass es zu soviel Punkten kommen kann lasst es halt wie es ist. Wollte es nur erwähnt haben.
Schattenfighter
Corvette
Beiträge: 152
Registriert: Fr Aug 24, 2007 11:26 pm
Wohnort: Reutlingen
Kontaktdaten:

Beitrag von Schattenfighter »

mario hat geschrieben:Aber ist immernoch interessanter als die normale ... da dauerts ja noch bis man den TT durch hat und was ordentliches bauen kann :-(


Naja , das gehört wohl nich mehr zum Thema Datentypen ^^ , wenn der Fall nicht vorgesehen ist dass es zu soviel Punkten kommen kann lasst es halt wie es ist. Wollte es nur erwähnt haben.


offiziell läuft grad auch keine speed nichmal inner normalen speed die übers wochenende läuft erreichst du solche werte
joa,hmm also man sollte jetzt eig meinen das hier der text kommt der unter jedem meiner verkorksten Beiträge landet aber da mir nichts einfällt lassen wir das mal^^
Nachael
Doomstar
Beiträge: 414
Registriert: Do Okt 13, 2005 2:14 pm
Wohnort: Bremen, oder auch 1.7.11
Kontaktdaten:

Beitrag von Nachael »

aber ist das son Problem das umzustellen ??

bzw. schints ja gar net das max. zu sein, nur wenn man ebenso weit ins Negative geht :D was totaler murks wäre ...
†The day you forget how to dream you're dead†
------- Bloodflowerz -------

Wenn Freiheit überhaupt etwas bedeutet, dann vor allem das Recht, anderen Leuten zu sagen, was sie nicht hören wollen (George Orwell)
mifritscher
Administrator
Beiträge: 2413
Registriert: So Aug 07, 2005 10:58 pm
Kontaktdaten:

Beitrag von mifritscher »

das ist 2^32-1 (32 bittig, unsigned)

Das große Problem ist dass die Software noch auf 32 bit läuft. Wenn ich da die Datentypen auf 64 bit umstelle wirds lahm.
Zudem php auf 32 bit Maschinen keine Integer größer (2^32/2)-1 (int32, signed) kann, dann wirds zu Fließkommazahlen, mit allen bekannten Rundungsfehlern.

Fazit: Das kann erst richtig (=ohne große Verrenkungen und Performanceeinbußen) gelöst werden, wenn ich den Server auf 64 Bit Software umstelle. Und das ist nicht unbedingt ein Spaziergang...
Nomad
Administrator
Beiträge: 246
Registriert: Mo Sep 03, 2007 11:00 pm

Beitrag von Nomad »

2.147.483.647 ist ganz sicher nicht 2^32 -1
eher 2^31 -1. Also mit Vorzeichen...
mifritscher
Administrator
Beiträge: 2413
Registriert: So Aug 07, 2005 10:58 pm
Kontaktdaten:

Beitrag von mifritscher »

Sorry, habs mir nicht so genau angeschaut, ich dachte es ging um die Res, da ists nämlich unsigned^^

So, und jetzt haut mich :p
mario
Fighter
Beiträge: 16
Registriert: So Feb 19, 2006 2:08 pm

Beitrag von mario »

Würde sich eine Umstellung von Int zu LongInt wirklich so drastisch in der Geschwindigkeit auswirken (von einem 32bit OS ausgegangen)?

Dann müsst ich mal ein paar meiner Webprojekte durchsehen ^^
mifritscher
Administrator
Beiträge: 2413
Registriert: So Aug 07, 2005 10:58 pm
Kontaktdaten:

Beitrag von mifritscher »

Das Problem ist halt das php damit nichts anfangen kann, sondern dann in float umwandelt.
Es sei denn ich fasse das Ergebnis als String auf und rechne dann mit bigint-Funktionen weiter, was geschwindigkeits.und sauberkeitsmäßig wohl der GAU darstellen dürfte^^

Naja, ich werde die Kiste wenn ich bissle mehr Zeit habe auf 64 bit Software umstellen, dann ist die Umstellung schnell gemacht.

P.S. man muss bei Int und LongInt sakrisch aufpassen was gemeint ist. Oft wird int als 2^16 und long als 2^32 aufgefasst, und verwendet dann für 2^64 den Typ longlong *g*
mario
Fighter
Beiträge: 16
Registriert: So Feb 19, 2006 2:08 pm

Beitrag von mario »

bei den Galapunkten würde es ja als String reichen. Die Berechnung erfolgt/könnte über die DB erfolgen. Ist ja nur nen bischen Gruppieren.

Bei einigen Leuten stoßen auch die Ress schon an die Grenzen. Da wäre sogar float noch dankbarer ;) da sind die Verluste geringer als wenn alles über 4.294.967.295 verschwindet ^^
Nomad
Administrator
Beiträge: 246
Registriert: Mo Sep 03, 2007 11:00 pm

Beitrag von Nomad »

Naja, das Problem mit 64 Bit daten in einer 32 bit umgebung ist, dass die Wortlänge halt 32 bit ist.
Klartext: 32 Bit wäre ein Speicherzugriff, 64 bit zwei.
Schattenfighter
Corvette
Beiträge: 152
Registriert: Fr Aug 24, 2007 11:26 pm
Wohnort: Reutlingen
Kontaktdaten:

Beitrag von Schattenfighter »

Nomad hat geschrieben:Naja, das Problem mit 64 Bit daten in einer 32 bit umgebung ist, dass die Wortlänge halt 32 bit ist.
Klartext: 32 Bit wäre ein Speicherzugriff, 64 bit zwei.



wer so viel res hat sollte se entweder benutzen oder sich löschen is doch sinnlos wegen ner inofiziellen speed alles umkrempeln zu müssen
joa,hmm also man sollte jetzt eig meinen das hier der text kommt der unter jedem meiner verkorksten Beiträge landet aber da mir nichts einfällt lassen wir das mal^^
Nachael
Doomstar
Beiträge: 414
Registriert: Do Okt 13, 2005 2:14 pm
Wohnort: Bremen, oder auch 1.7.11
Kontaktdaten:

Beitrag von Nachael »

wer so viel res hat sollte se entweder benutzen oder sich löschen is doch sinnlos wegen ner inofiziellen speed alles umkrempeln zu müssen


und wenn das nur eine ressource ist die man zuviel hat und partout nicht loswird ??

bei mir ist das z.B. bei cry der Fall, und verständlicherweise hab ich a) keinen Bock, dass ich immer die gleiche Zahl sehe :D und b) auch keinen Bock, ca. 400mal 9999 Amps einzutippen ^^

das dürfte dann die DB nebenbei bemerkt auch etwas überfordern, oder ?? :D
†The day you forget how to dream you're dead†
------- Bloodflowerz -------

Wenn Freiheit überhaupt etwas bedeutet, dann vor allem das Recht, anderen Leuten zu sagen, was sie nicht hören wollen (George Orwell)
Bilbo
Administrator
Beiträge: 881
Registriert: So Aug 07, 2005 10:57 pm
Wohnort: Mainz-Ebersheim
Kontaktdaten:

Beitrag von Bilbo »

ne, scanner/amps/jammer kannste pro sorte 16777215 haben, damit hat höchstens unsre Formel ein Problem ;)
Nachael
Doomstar
Beiträge: 414
Registriert: Do Okt 13, 2005 2:14 pm
Wohnort: Bremen, oder auch 1.7.11
Kontaktdaten:

Beitrag von Nachael »

ja aber angenommen ich hab jetzt ne schlange mit 400 aufträgen ... wenn da noch andre deppen ungefähr zur gleichen Zeit auf die gleiche Idee kommen ist das System doch evtl. überlastet, oder ? :D
†The day you forget how to dream you're dead†
------- Bloodflowerz -------

Wenn Freiheit überhaupt etwas bedeutet, dann vor allem das Recht, anderen Leuten zu sagen, was sie nicht hören wollen (George Orwell)
mifritscher
Administrator
Beiträge: 2413
Registriert: So Aug 07, 2005 10:58 pm
Kontaktdaten:

Beitrag von mifritscher »

Sollte eigentlich nichts passieren :-)
Probierts doch einfach aus^^
Schattenfighter
Corvette
Beiträge: 152
Registriert: Fr Aug 24, 2007 11:26 pm
Wohnort: Reutlingen
Kontaktdaten:

Beitrag von Schattenfighter »

du kannst das ganze crys auch einfach in die bank stecken
joa,hmm also man sollte jetzt eig meinen das hier der text kommt der unter jedem meiner verkorksten Beiträge landet aber da mir nichts einfällt lassen wir das mal^^
Nachael
Doomstar
Beiträge: 414
Registriert: Do Okt 13, 2005 2:14 pm
Wohnort: Bremen, oder auch 1.7.11
Kontaktdaten:

Beitrag von Nachael »

und was bringt das ?? mit den ress in der Bank kann in der Speedrunde NIEMAND WAS ANFANGEN !
†The day you forget how to dream you're dead†
------- Bloodflowerz -------

Wenn Freiheit überhaupt etwas bedeutet, dann vor allem das Recht, anderen Leuten zu sagen, was sie nicht hören wollen (George Orwell)
Antworten