UNION मतलब यूनियन डिस्टिंट और यह अपेक्षाकृत धीमा है क्योंकि यह डुप्लीकेट की जांच करेगा, भले ही कोई नहीं होगा। आप यूनियन ऑल चाहते हैं:
SELECT *, 0 AS head FROM foo WHERE id IN (1,2,3)
UNION ALL
SELECT *, 1 AS head FROM foo WHERE id NOT IN (1,2,3)
ORDER BY head, created_date
मैं कल्पना करूंगा कि इस परिवर्तन के बाद तीन प्रश्नों के प्रदर्शन में बहुत अंतर नहीं है। सुनिश्चित करने का सबसे अच्छा तरीका इसे मापना है।