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

UNION ALL e LIMIT no MySQL


Atualmente, o MySQL executará todas as seleções em uma união, mesmo se houver linhas suficientes nas primeiras consultas, como @Yuki Inoue mencionou em sua resposta. Usando a resposta de @ user1477929, você pode reescrever sua consulta como:
(SELECT a FROM t1 WHERE a=10 AND B=1 LIMIT 1000) 
UNION ALL 
(SELECT a FROM t2 WHERE a=11 AND B=2 LIMIT 1000) 
UNION ALL 
(SELECT a FROM t3 WHERE a=12 AND B=3 LIMIT 1000) 
ORDER BY a LIMIT 1000;

que lhe dará no máximo 1000 linhas e nunca digitalizará mais de 3000.