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

Come determinare cosa è più efficace:DISTINCT o DOVE ESISTE?

Usa EXISTS piuttosto che DISTINCT

È possibile eliminare la visualizzazione di righe duplicate utilizzando DISTINCT; usi EXISTS per verificare l'esistenza di righe restituite da una sottoquery. Quando possibile, dovresti utilizzare EXISTS anziché DISTINCT perché DISTINCT ordina le righe recuperate prima di eliminare le righe duplicate.

nel tuo caso ci dovrebbero essere molti dati duplicati, quindi l'esistenza dovrebbe essere più veloce.

di http://my.safaribooksonline.com/ book/-/9780072229813/sql-tuning-high-performance/ch16lev1sec10