Beide Varianten verhindern doch doppelte Einträge.
Nein.
Ein Index hilft dir salop gesagt beim suchen von Einträgen. Ein primary Key, der bei mysql, zwangläufig immer einen Index hat, muss eindeutig sein. Ein Index an sich muss nicht eindeutig sein.
Soweit ich weiß erzeugt mysql bei anlegen einer unique Spalte jedoch automatisch einen Index mit - da kann ich mich aber auch irren.
Gruß
Irrender
T-Rex