En cualquier motor de BD existe las llaves principales y foráneas, no todo puede ser llave.
Siempre va a ver circunstancias en las cuales las consultas se van a tener que hacer sobre un campo no llave y por consiguiente, los tiempos de respuesta se van a degradar.
Es por eso que existe la normalización de BD para que evitar en lo posible, ese tipo de situaciones, te aconsejo leer esto
Función de la sección de Base de Datos, para que te des una idea de lo que te estoy diciendo.
Saludos.