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

Por que usar IN(...) ao selecionar em campos indexados, matará o desempenho da consulta SELECT?


Para dizer a verdade, essa afirmação contradiz muitas dicas que li em livros e artigos sobre MySQL.

Aqui está um exemplo:http://www.mysqlperformanceblog.com/2010/01/09/getting-around-optimizer-limitations-with-an-in-list/

Além disso, expr IN(value, ...) em si tem melhorias adicionais para lidar com grandes listas de valores, uma vez que deve ser usado como uma alternativa útil para certos range consultas:

O uso excessivo de INs pode resultar em consultas lentas. Alguns casos são observados no no artigo .