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

Mysql:Execute de NOT EXISTS. É possível melhorar o desempenho?


Você está certo - você pode fazer melhor. Veja este artigo por Quassnoi para os detalhes, mas a conclusão é:

Sua consulta reescrita usando NOT IN poderia ficar assim:
SELECT *
FROM posts  
WHERE posts.id NOT IN (SELECT post_id
                       FROM comments
                       WHERE comments.comment_type = 'good'
                       AND comments.created_at BETWEEN '2010-05-01 00:00:00'
                                                   AND '2010-05-01 23:59:59')