Quel est le nombre maximal de jointures autorisées dans SQL Server 2008?Quel est le nombre maximal de jointures autorisées dans SQL Server 2008?
Répondre
Les limites pour SQL Server sont répertoriés here
Le nombre de tables par requête est seulement limitée par la quantité de ressources disponibles.
Dans SQL Server 2008, le nombre maximal de tables que vous pouvez avoir dans un SELECT est limité uniquement par les ressources disponibles (source).
Dans SQL Server 2005, il y avait une limite de 256 tables pour un seul SELECT (source). Cependant, si vous vous en tenez à ce genre de chiffres, je serais un peu inquiet, hein!
"Raymond Chen note que si vous devez demander où sont les limites du système d'exploitation, vous faites probablement quelque chose de mal" http://www.codinghorror.com/blog/2007/10/pushing-operating-system-limits. html –
La seule fois où j'ai vu quelqu'un atteindre les limites était quand il utilisait des vues pour appeler des vues qui appelaient des vues, etc. Si vous utilisez des vues pour appeler des vues, il est temps de vous arrêter maintenant que votre système est encore fonctionnel (non seulement vous rencontrerez les limites, mais vous aurez des problèmes de performance bien avant que vous ne rencontriez les limites de waht). – HLGEM
Nous avons légitimement atteint la limite 256 dans SQL 2005 une fois. – Joshua
Les autres réponses donnent déjà la réponse à votre question
limitée par les ressources disponibles
Cependant, même si SQL Server compile avec succès un plan pour votre requête qui ne veut pas dire que vous devriez. Plus vous aurez de correspondances, plus l'espace des plans de requêtes possibles sera exponentiellement grand et vous aurez peut-être des plans très sous-optimaux.
Pour une requête avec 12 jointures, le nombre d'ordres de jointure possibles est 28,158,588,057,600. En outre, chaque jointure peut être de trois algorithmes possibles (hachage, boucles imbriquées, fusion)
Dans le livre « SQL Server 2005 dépannage pratique » Cesar Galindo-Legaria dit
Si vous joindrez plus de 20 tables, les chances sont que l'optimiseur ne soit pas en examinant l'ensemble de l'espace de recherche, mais en s'appuyant davantage sur l'heuristique .... nous avons vu des applications qui exécutent des requêtes régulières traitant de plus de 100 tables. Bien qu'il soit possible d'exécuter ces requêtes volumineuses, vous vraiment étirez le système dans ces cas et devrait être très prudent aller loin
Conformément aux instructions Microsoft, plus de cinq tables ne sont pas autorisées à se joindre à SQL Server. Est-ce correct? Si ce n'est pas le cas, selon votre perspective, le nombre de tables autorisées à se joindre à SQL Server pour de meilleures performances. – RGS
Pour inner join
, tables max 256 peuvent être joints. Pour outer join
, 2 tables maximum peuvent être jointes.
Source: formation en classe.
Je vous suggère de demander un remboursement sur cette formation.Il est trivial d'écrire une requête montrant que plus de 2 tables peuvent être jointes. –
- 1. Nombre maximal d'utilisateurs simultanés connectés à SQL Server 2008
- 2. Quel est le nombre maximal d'arguments dans une fonction Python?
- 3. Nombre maximal de tables exploitables dans SQL Server et MySQL
- 4. Quel est le nombre maximal de connexions HTTP que je peux ouvrir dans une boîte Windows Server 2008?
- 5. Quel est le nombre maximal de fichiers par répertoire? (Linux)
- 6. Comment vérifier le nombre maximal de connexions autorisées à une base de données Oracle?
- 7. Quel est le nombre maximal de connexions TCP/IP simultanées Windows?
- 8. Récupérer le dernier nombre d'enregistrements dans SQL Server 2008
- 9. Quel est le nombre maximal de caractères autorisés dans un champ Note dans SharePoint?
- 10. Authentification SQL Server dans SQL Server 2008
- 11. Quel est le nombre maximal de pages Web à remonter dans l'historique d'UIWebView?
- 12. Quel est le nombre maximal de caractères autorisés dans un attribut XML?
- 13. SQL Server NOLOCK et jointures
- 14. Cross-Database information_schema Jointures dans SQL Server
- 15. Sélectionnez uniquement si le nombre == 2 SQL Server 2008
- 16. Quel est le meilleur moyen de crypter les SSN dans SQL Server 2008?
- 17. Quel est l'équivalent SQL Server de INET_ATON
- 18. Comment augmenter le nombre maximal de connexions simultanées dans Apache?
- 19. Quel est le nombre maximal d'enregistrements pour un DataGrid dans VB.NET?
- 20. nombre maximal d'arêtes dans NodeXl
- 21. Quel est le nombre maximal de lignes qu'un contrôle TextArea peut contenir?
- 22. Quel est le nombre maximal de files d'attente pouvant être prises en charge par MSMQ?
- 23. Quel est le nombre maximal de régions pouvant être surveillées sur l'iPhone?
- 24. SQL Server 2008
- 25. Erreur sur le nombre maximal de fichiers
- 26. SQL Server 2008
- 27. Quel est le numéro de version de SQL Server 2008 Web Edition RTMed?
- 28. quel est le niveau de compatibilité de sql server 2008 r2
- 29. SQL Server Nombre de
- 30. Détection si SQL Server 2008 est installé
Merci Barry pour la réponse. – kandarp