sql >> Database teknologi >  >> RDS >> Mysql

UNION ALL og LIMIT i MySQL

I øjeblikket udfører MySQL alle valg på en union, selvom der er nok rækker i de første par forespørgsler, som @Yuki Inoue nævnte i deres svar. Ved at bruge @user1477929's svar kan du omskrive din forespørgsel som:

(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;

hvilket giver dig højst 1000 rækker og aldrig scanne mere end 3000.



  1. Indsættelse af poster med autoincrementing primære nøgler

  2. ISDATE() Eksempler i SQL Server

  3. Udførelse af en lagret procedure ved hjælp af Windows Task Scheduler

  4. Entity Framework:Der er allerede en åben DataReader tilknyttet denne kommando