Autor Beitrag
Martok
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 3661
Erhaltene Danke: 604

Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
BeitragVerfasst: Mi 30.01.08 18:37 
Hallo!

Ich bin grade etwas ins grübeln gekommen. Ich habe eine Tabelle mit allen angemeldeten Spielern. Da stehen zum Beispiel Anmeldeinformationen drin, aber auch Statistiken und später noch Optionen.

Ist das sinvoll, alle diese Sachen in der Haupttabelle rumgeistern zu lassen? Oder ist es sinnvoll, Optionen, Statistiken usw. in eigene Tabellen auszulagern?

Wenn man für diese Entscheidung noch mehr Infos braucht... sagts mir ;)

mfg
Sebastian

_________________
"The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
ub60
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 765
Erhaltene Danke: 130



BeitragVerfasst: Mi 30.01.08 19:06 
user profile iconMartok hat folgendes geschrieben:
Wenn man für diese Entscheidung noch mehr Infos braucht...

Man braucht!

Such doch mal nach Normalform einer Datenbank bzw. Redundanz, da solltest Du genügend Hinweise bekommen.

ub60
Martok Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 3661
Erhaltene Danke: 604

Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
BeitragVerfasst: Mi 30.01.08 19:41 
Hm, eigentlich ist doch das nicht das eigentliche Problem. Mal ein Beispiel:

ausblenden Quelltext
1:
2:
3:
(alles zusammen)
users:
ID|NAME|PASS|LAST_LOGIN|LAST_ACTION|SKILL_* (4 mal)|SHOW_ONLINE_STATUS(+weitere Optionen)

oder
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
(maximal aufgetrieselt)
users:
ID|NAME|PASS|LAST_LOGIN

last_action:
UID|LAST_ACTION

skills:
UID|SKILL_* (4 mal)

options:
UID|SHOW_ONLINE_STATUS(+weitere Optionen)


Redundant ist da ja nie was. Das Problem ist ja nur eins der Verteilung der Daten. Und hier gehts mir eher um die Geschwindigkeit, da bestimmte Sachen selten gelesen, andere selten geschrieben und die last_action z.B. jedes mal geschrieben und gelesen wird.
Wobei man mit geschickt verteilten Indices auch was erreichen dürfte oder?

_________________
"The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
ub60
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 765
Erhaltene Danke: 130



BeitragVerfasst: Mi 30.01.08 22:31 
Wenn Du keine redundanten Daten hast, sollte eine große Tabelle eigentlich kein Problem sein. Ein Geschwindigkeitsvorteil sollte bei kleineren Tabellen auch nicht auftreten, da man ja (über SELECT) auswählen kann, welche Daten man übers Netz transportieren möchte. Die Indizes zum Sortieren und zum Zugriff funktionieren bei Tabellen mit vielen und mit wenigen Feldern gleich schnell.

ub60