Hallo,
also ich plane ein umfangreicheres Votingsystem, bei dem die Anzahl der zur bewertenden Elemente (immer so zwischen 300 bis 500) bei der Erstellung der Tabelle fest steht. Die Zahl der User, die voten können, wird aber kontinuierlich steigen. Die Voten weisen jedem zu bewertenden Element allerdings nur eine Zahl zwischen 0 und 10 zu. Was wäre da wohl die effizienteste Möglichkeit das zu realisieren?
Ich dachte daran die Elemente (entsprechend Ihrer ID) jeweils in eine der Spalten der Tabelle zu packen, wobei die erste Spalte der USERID gehört.
Für jeden User der votet wird dann ein Datensatz (also genau eine Zeile) anlegt. Wenn er votet werden die Werte in der Zeile dann geupdatet.
Bsp:
ID -- Audi A6 -- Mercedes E-Klasse - BMW 5er
23 -- 10 -- 4 -- 7 #User 23 bewertet die Elemente mit 10, 4 und 7
37 -- 3 -- 7 -- 9
Die Alternative wäre eine Tabelle mit den Spalten AllgemeineID, UserID, VoteElement, Bewertung, in die jeweils für einen Vote ein neuer Datensatz (neue Zeile) angelegt wird.
Bsp:
AllgemeineID -- UserID -- VoteElement -- Bewertung
1 -- 23 -- 1 -- 10 # User 23 beweretet Element 1 (Audi A6) mit 10
2 -- 23 -- 2 -- 4 # User 23 beweretet Element 2 (Mercedes E-Klasse) mit 4
3 -- 23 -- 3 -- 7
4 -- 37 -- 1 -- 3 # User 37 bewertet Element 1 (Audi A6) mit 3
Was meint Ihr, wäre wohl performanter bei vielen Zugriffen? Habt Ihr eine besser Idee?
Vielen Dank und viele Grüße
Counti
also ich plane ein umfangreicheres Votingsystem, bei dem die Anzahl der zur bewertenden Elemente (immer so zwischen 300 bis 500) bei der Erstellung der Tabelle fest steht. Die Zahl der User, die voten können, wird aber kontinuierlich steigen. Die Voten weisen jedem zu bewertenden Element allerdings nur eine Zahl zwischen 0 und 10 zu. Was wäre da wohl die effizienteste Möglichkeit das zu realisieren?
Ich dachte daran die Elemente (entsprechend Ihrer ID) jeweils in eine der Spalten der Tabelle zu packen, wobei die erste Spalte der USERID gehört.
Für jeden User der votet wird dann ein Datensatz (also genau eine Zeile) anlegt. Wenn er votet werden die Werte in der Zeile dann geupdatet.
Bsp:
ID -- Audi A6 -- Mercedes E-Klasse - BMW 5er
23 -- 10 -- 4 -- 7 #User 23 bewertet die Elemente mit 10, 4 und 7
37 -- 3 -- 7 -- 9
Die Alternative wäre eine Tabelle mit den Spalten AllgemeineID, UserID, VoteElement, Bewertung, in die jeweils für einen Vote ein neuer Datensatz (neue Zeile) angelegt wird.
Bsp:
AllgemeineID -- UserID -- VoteElement -- Bewertung
1 -- 23 -- 1 -- 10 # User 23 beweretet Element 1 (Audi A6) mit 10
2 -- 23 -- 2 -- 4 # User 23 beweretet Element 2 (Mercedes E-Klasse) mit 4
3 -- 23 -- 3 -- 7
4 -- 37 -- 1 -- 3 # User 37 bewertet Element 1 (Audi A6) mit 3
Was meint Ihr, wäre wohl performanter bei vielen Zugriffen? Habt Ihr eine besser Idee?
Vielen Dank und viele Grüße
Counti