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?!
Im Script (ich nehme mal an, dass du etwas in PHP o.Ä. umsetzen willst) zu verhindern, dass dies vorkommt wäre wohl am einfachsten. Das ist über eine simple Abfrage zu lösen [SELECT COUNT(id) FROM ... WHERE userid='xx' AND themenid='xx'].
als nächstes soll noch das mit dem index sinnvoll gemacht werden:
es gibt 4 verschiedene arten der suche:
where userid=...
where themenid=...
where themenid=... and option1=...
where themenid=... and option2=...
Und wo ist das Problem? Such doch einfach nach den Werten!