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

Entendendo os impactos de desempenho para a pesquisa de tuplas do mysql


De acordo com esta pergunta , o suporte para tuplas no MySQL não é otimizado. Como @O.Jones escreve em seu comentário, o planejador de consultas no MySQL é uma fera extremamente complexa, e coisas que deveriam trabalho nem sempre se comportam como você poderia esperar.

Acredito que sua segunda consulta seja mais rápida porque a primeira cláusula where dept_id in (101, 103) reduz o espaço de busca para o segundo que usa as tuplas. O otimizador de consulta deve faça isso automagicamente, mas pelo menos no seu exemplo não faz isso.

Eu não acredito no IN cláusula é o problema - é a comparação de tuplas que está varrendo a tabela inteira e não usando os índices disponíveis.