Diferença entre chave, chave primária, chave exclusiva e índice no MySQL

Quando devo usar KEY, PRIMARY KEY, UNIQUE KEYe