इस तरह की एक क्वेरी (सभी या अधिकतर पंक्तियों को पुनर्प्राप्त करना) तेज़ . है अगर आप GROUP
इससे पहले कि आप JOIN
. इस तरह:
SELECT id, name, created_at, updated_at, u.ct
FROM cars c
LEFT JOIN (
SELECT car_id, count(*) AS ct
FROM users
GROUP BY 1
) u ON u.car_id = c.id
ORDER BY u.ct DESC;
इस तरह आपको बहुत कम जॉइन ऑपरेशंस की जरूरत है। और तालिका की पंक्तियाँ cars
पहले कई उपयोगकर्ताओं से जुड़कर गुणा करने की आवश्यकता नहीं है और फिर फिर से अद्वितीय होने के लिए समूहबद्ध किया गया है।
केवल सही तालिका को समूहीकृत किया जाना है, जो तर्क को भी सरल बनाता है।