Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

IDADE [1, 2, 3] vs. IDADE ENTRE 1 E 3


Ambas as consultas usarão um índice.

A consulta A será traduzida para:
select * from person where age = 1 or age = 2 or age 3;

A consulta B será traduzida para
select * from person where age >= 1 and age <= 3;

Portanto, a consulta A fará 3 testes usando OR.
A consulta B fará 2 testes usando AND.

A consulta B é mais rápida.

Em geral, consultas usando AND são mais rápidas do que consultas usando OR .
Também a Consulta B está fazendo menos testes e por estar testando um intervalo pode excluir mais facilmente resultados que não deseja.