Quelle est la différence entre une jointure interne et une sous-requête? et quand devrais-je utiliser une sous-requête? ou une jointure interne? J'étais dans une situation où récemment une jointure interne était trop lent et était la solution sous-requête. De ma compréhension limitée, je pensais que les deux travaillaient exactement la même chose.Quand dois-je utiliser les jointures internes et quand puis-je utiliser les sous-requêtes?
Répondre
Il n'a pas vraiment d'importance si vous utilisez des jointures ou des sous-requêtes. Vous pouvez transformer n'importe quelle requête avec une sous-requête en une requête avec une jointure. J'irais avec ce qui est plus lisible. Parfois, les jointures sont plus lisibles. Pour les autres requêtes, les sous-requêtes sont plus lisibles. Vous ne devriez pas avoir une grande différence de performance, aussi longtemps que vous optimisez les requêtes. Une exception que j'ai rencontré est la création d'un correlated subquery, où la sous-requête qui est exécutée dépend des résultats de la requête externe. Ces types de requêtes peuvent être utiles, mais très inefficaces. Vous pouvez les utiliser lorsque vous devez calculer des données pour chaque ligne d'une requête. Dans ce cas, vous ne pouvez pas utiliser de jointures.
- 1. Quand utiliser POJO et Quand utiliser SLSB
- 2. Quand utiliser conserver et quand utiliser copier
- 3. Quand utiliser WCF et quand utiliser les services de données ADO dans les sites Web ajax?
- 4. Quand utiliser les classes abstraites et quand utiliser les interfaces en C#
- 5. Quand utiliser les mises en page et quand utiliser les activités?
- 6. Quand utiliser les modèles d'usine?
- 7. scénarios quand utiliser les fermetures
- 8. Quand utiliser les documents incorporés?
- 9. Quand utiliser les conventions d'appel
- 10. Quand utiliser un module et quand utiliser une classe
- 11. Quand utiliser l'activateur et quand utiliser la méthode d'usine?
- 12. Comment utiliser la procédure stockée dans les jointures internes?
- 13. Hibernate: Quand utiliser getSession() et quand utiliser getCurrentSession()?
- 14. Quand utiliser/proc et quand/dev
- 15. Quand utiliser les vues de la base de données et quand?
- 16. quand utiliser les objets poco pour les vues, et quand les classes personnalisées viewmodel
- 17. Quand utiliser Page.DataBind() et Control.DataBind()?
- 18. Django - Quand utiliser les formes et les meilleures pratiques
- 19. Quand utiliser __gc pour les classes et les structures?
- 20. Pourquoi et quand utiliser LINQ?
- 21. Quand utiliser AsyncOperation et AsyncOperationManager
- 22. Quand ne pas utiliser les tests d'intégration
- 23. Quand utiliser View Preparer pour les mosaïques
- 24. Quand utiliser les littéraux d'objet Javascript
- 25. Quand utiliser les méthodes partagées dans .NET
- 26. Quand utiliser pushScene et replaceScene?
- 27. Quand utiliser les événements C# personnalisés
- 28. MySQL se joint? Que sont-ils? Quand les utiliser?
- 29. Quand utiliser plus d'activités
- 30. Quand utiliser un SQLTransaction
double: http://stackoverflow.com/questions/1652164/mysql-query-what-is-the-difference-between-join-and-a-subquery –