In breve.
Ho una tabella con una chiave primaria (int, autoincrement) e vari campi al suo interno di cui uno indicizzato (è un varchar 50) univoco anche lui (controllato tramite php però). La cardinalità è quindi la stessa.

La query:
SELECT campo1, campo2, campo3, campo4, campo5, campo6 FROM tabella WHERE chiave = XX

Ci mette 2.qualcosa secondi circa.

La query
SELECT * FROM tabella WHERE indice = 'xxx'

Ci mette 0.00qualcosa secondi circa.

Sbaglio qualcosa io? Non dovrebbe essere più veloce la prima?