Dans certaines zones de mon application, j'ai besoin de données provenant de plusieurs tables de la base de données (j'ai une application, l'application a plusieurs attributs, chaque attribut a plusieurs définitions et chaque définition une valeur). J'ai besoin des données de tous ces tableaux pour une application. Devrais-je utiliser une vue (une qui serait plutôt grande) ou des sous-requêtes pour sélectionner les enregistrements? Dans le cas des sous-requêtes, l'optimiseur est-il capable de fonctionner efficacement? Je suis également intéressé si la mise en cache fonctionnera pour les sous-requêtes.Vues vs sous-requêtes inline SQL Server 2005/2008
Répondre
Les vues sont généralement développées en place dans les sous-requêtes, à moins que vous ne marquiez explicitement les vues comme persistées en y déposant un index cluster.
Ceci est une question 'Cela dépend'. Une vue peut aider à rendre le code plus facile à maintenir, mais des prédicats de sélection complexes peuvent perturber l'optimiseur.
Une autre option est une procédure stockée qui renvoie un jeu d'enregistrements. Si vous réutilisez une sous-requête plusieurs fois, vous pouvez obtenir un certain kilométrage en séparant la requête, en sélectionnant la sous-requête dans une table temporaire et en combinant les parties dans une étape ultérieure.
Sans une description plus précise du problème, il est difficile de donner une réponse significative.
- 1. ASP.NET - Inline vs Code-Behind
- 2. DB2 vs PostgreSQL vs SQL Server
- 3. SQL Server - Guid VS. Long
- 4. SQL Server - SQL Cursor vs ADO.NET
- 5. Multiple Inline Conditions ET OU vs ELSEIF
- 6. SQL Server 2008: tinyint vs bit
- 7. SQL Server 2008 vs 2005 l'intégration Linq
- 8. Liste les rapports avec SQL inline dans SQL Server Reporting Services?
- 9. Comment imiter les vues matérialisées Oracle sur MS SQL Server?
- 10. Texte des vues système dans SQL Server 2005
- 11. MSVC: Union vs. classe/struct avec les opérateurs ami inline
- 12. Vues partielles vs JSON (ou les deux)
- 13. ASP.net Inline Expression Numéro
- 14. Utilisation de varchar (MAX) vs TEXT sur SQL Server
- 15. VS 2008 SP1/SQL SERVER 2008 Configuration SP1/TFS PROBLEME!
- 16. Table temporaire SQL Server 2000 vs variable de table
- 17. Espace suffisant pour VS 2008 et SQL Server
- 18. Dans SQL Server 2000, existe-t-il une requête sysobjects qui récupère les vues utilisateur et non les vues système?
- 19. Aide requête SQL (Rejoindre des vues?)
- 20. SQL dynamique vs SQL statique
- 21. SQL Server 2008 SP1
- 22. VS ASP.NET 500 Server Erreur
- 23. SQL Server 2005 Express installé après SQL Server 2008 Express
- 24. Télécharger SQL SERVER AGENT - Microsoft SQL Server
- 25. Authentification SQL Server dans SQL Server 2008
- 26. SQL CASE vs JOIN efficacité
- 27. SQL Rowcount vs Top
- 28. Implémentation de l'extension inline
- 29. Django admin, inline peupler
- 30. jqGrid inline edit problème