AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

[MySQL] Problem mit COUNT

Ein Thema von 3_of_8 · begonnen am 1. Mär 2006 · letzter Beitrag vom 2. Mär 2006
Antwort Antwort
Seite 2 von 2     12   
JocalAreaNetwork

Registriert seit: 19. Aug 2005
35 Beiträge
 
Delphi 2006 Architect
 
#11

Re: [MySQL] Problem mit COUNT

  Alt 1. Mär 2006, 22:20
Zitat von mkinzler:
Um Redundanzen zu vermeiden sollte auf das Feld Fleet in der Benutzerdatenbank verzichtet werden und die Anzahl bei Bedarf mit mit SELECT ownerid, count(ship_id) FROM ships GROUP BY ownerid ermittelt werden.
Das ist natürlich korrekt, aber nicht immer ist die sauberste Lösung auch die sinnvollste - wenn es darum geht z. Bsp ein Onlinegame zu schreiben, dann würde ich stark dazu raten die Daten zu cachen, wie oben schon vorgeschlagen. Natürlich muss dann immer darauf reagiert werden, wenn sich die Schiffsanzahl ändert, aber alles andere kann unter Umständen sehr langsam werden, vor allem, da dies ja nur einer von potentiell sehr vielen Fällen ist.

Grüße
JocalAreaNetwork
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#12

Re: [MySQL] Problem mit COUNT

  Alt 1. Mär 2006, 23:16
Jaa, genau. Ein Onlinegame solls werden. As said, ich machs jetzt auf die alcaeus-Art.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#13

Re: [MySQL] Problem mit COUNT

  Alt 2. Mär 2006, 06:20
Zitat von 3_of_8:
... jedem User den Wert des Feldes fleet eines Users auf die Anzahl der Schiffe setzen, die dem User gehören ...
Hai 3_of_8,

ich frage mal anders herum. Du müsstest doch eigentlich wissen welche Anzahl von Schiffen ein User hat. An irgendeinem Punkt in deinem Code musst Du doch sicher ein neues Schiff in die Tabelle eintragen? Warum nicht an dieser Stelle ein UPDATE in dem Du in der Usertabelle die Anzahl der Schiffe des Users um eins erhöhst?
Pseudo-Code
Code:
insert_schip (userid);
begin
  INSERT INTO ships ('ownerid') VALUES (userid);
  UPDATE users SET flett = fleet + 1 WHERE userid = :userid;
end;
Analog dazu das ganze noch beim löschen und fertig.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#14

Re: [MySQL] Problem mit COUNT

  Alt 2. Mär 2006, 10:50
Joa, das wäre natürlich auch eine Möglichkeit.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz