Rouven: Mysql: index & key korrekt setzen

Beitrag lesen

Hi,

hab ne tabelle, die festhällt, welche themen der user aboniert hat und mit welchen optionen.
also: id, userid, themenid, option1, option2

nun möchte ich die keys so setzen, dass immer nur ein datensatz mit identischer userid und themenid existieren darf. muss ich nun id, userid und themenid als keys setzen oder was?!

Ich nehme mal an die ID ist der Primärschlüssel. Dementsprechend sollte er auch als solcher festgehalten werden (PRIMARY KEY).
Um userid und themenid zusätzlich unique zu machen setzt du einen weiteren Index:
CREATE UNIQUE INDEX ... (userid, themenid)
Die von Snafu vorgeschlagene Lösung der Prüfung im Skript sehe ich nur als Zusatz.

alle werden ungefähr gleich häufig verwendet. bedeutet das, dass ich 4 indexe zu erstellen habe?

Aus meiner heutigen Sicht (wobei bei Datenbanken und Indizes lernt man nie aus) würde ich sagen ja. Jeweils einen Index pro Suchschema.
Wie aber Ilja sicherlich im Laufe des Tages noch ergänzen wird: Probieren geht über studieren. Einen Index zu droppen oder zu setzen ist ja nun keine allzu schlimme Operation...

MfG
Rouven

--
-------------------
ie:| fl:| br:> va:| ls:& fo:) rl:( n4:{ ss:) de:] js:| ch:? mo:} zu:|