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

Como determinar o que é mais eficaz:DISTINTO ou ONDE EXISTE?


Use EXISTS em vez de DISTINCT

Você pode suprimir a exibição de linhas duplicadas usando DISTINCT; você usa EXISTS para verificar a existência de linhas retornadas por uma subconsulta. Sempre que possível, você deve usar EXISTS em vez de DISTINCT porque DISTINCT classifica as linhas recuperadas antes de suprimir as linhas duplicadas.

no seu caso haveria muitos dados duplicados então os existentes deveriam ser mais rápidos.

por http://my.safaribooksonline.com/ book/-/9780072229813/high-performance-sql-tuning/ch16lev1sec10