Hallo und guten Tag,
ich habe ein Frage bezüglich MySQL, die sich wohl an die Datenbankexperten hier richtet.
Zunächst jedoch möchte ich die Ausgangssituation beschreiben.
Ich entwickle ein Community-Portal, bei dem es vor allem darum geht, daß angemeldete User Artikel schreiben können, die dann im Folgenden von angemeldeten Usern anhand eines 5-wertigen Sternesystems o.ä. bewertet werden können.
Damit jeder User jeden Artikel nur einmal bewerten kann, gibt es eine Tabelle, in der die jeweilige Artikel-id nebst User-Id (des Bewertenden) gepeichert wird
ARTIKEL_ID | USER_ID |
01 11
01 13
04 11
..
Soweit ist das klar. Nun ist es so, dass wir erstens von einer relativen hohen User-Zahl (>50000) und zweitens von einem äußerst aktiven Bewertungsverhalten ausgehen (welches in diesem community-Gedanken selbst begründet ist). Das heisst also, dass diese Tabelle sehr schnell ansteigen wird und die Zeilenanzahl in sieben- bis achtstellige Werte rutscht.
Nun meine Frage(n):
Sind meine Überlegung richtig und ist die Konzeption oben beschriebener Tabelle für dieses Problem soweit korrekt? Wird es nicht zu extremem Performanceproblemen kommen, diese riesige Tabelle ständig wieder auszulesen (bei jedem Öffnen des Artikels, ob dieser oder jene User den Artikel schon bewertet hat)?
Vielleicht hat jemand noch einen Tip für mich. Meine längsten Tabellen hatten bisher nicht mehr als 100000 Einträge, ich bewege mich hier auf etwas unbekanntem Terrain.
Besten Dank und viele Grüße
DagobertDuck