A ordem dos campos em uma cláusula WHERE afeta o desempenho no MySQL?
Eu tenho dois campos indexados em uma tabela -type
euserid
(índices individuais, não compostos).
type
Os valores do campo s são muito limitados (digamos que seja apenas 0 ou 1); portanto, 50% dos registros da tabela têm o mesmotype
. userid
valores, por outro lado, vêm de um conjunto muito maior, portanto, a quantidade de registros com o mesmouserid
é pequeno.
Qualquer uma dessas consultas será executada mais rapidamente que a outra:
select * from table where type=1 and userid=5
select * from table where userid=5 and type=1
Além disso, se os dois campos não fossem indexados, isso mudaria o comportamento?