Est-ce que quelqu'un connaît les inconvénients de MARS (ensembles de résultats actifs multiples)? Est-ce que quelqu'un connaît une raison pour laquelle on devrait éviter d'utiliser MARS, comme les cas où les curseurs sont plus utiles que MARS.Inconvénients de MARS (ensembles de résultats actifs multiples)?
Répondre
Il y a apparemment au moins deux connus inconvénients (potentiels) (de ce (1) Team blog):
Évidemment, cela peut causer des problèmes potentiels pour les systèmes existants qui ne sont pas conçus pour fonctionner contre un MARS a permis la conception - « code existant optimisé pour fonctionner dans le monde non-MARS peut montrer une légère baisse de performance lorsqu'il est exécuté modifié non avec MARS »
« avec MARS, vous pouvez envoyer plusieurs mu lti-instruction lots au serveur. Le serveur va entrelacer l'exécution de ces lots, ce qui signifie que si les lots changent l'état du serveur via des instructions SET ou USE, ou utilisent des instructions de gestion des transactions TSQL (BEGIN TRAN, COMMIT, ROLLBACK), vous et le serveur pouvez confondre à ce que votre intention réelle est. »
Je n'ai pas encore essayer une conception MARS a permis, mais je viens très près de le faire sur mon projet en cours. Nous avons un léger problème avec les opérations de requêtes concurrentes (et parfois dépendantes) (comme les données de configuration de chargement paresseuses à partir de la même base de données qu'un jeu d'enregistrements actif est en cours d'exécution).
Il y a plus d'informations sur le site MSDN (2) here
[(1) http://blogs.msdn.com/sqlnativeclient/archive/2006/09/27/774290.aspx]
[(2) http://msdn.microsoft.com/en-us/library/ms131686.aspx]
en fonction de quoi? il n'y a pas de réels inconvénients.
ils ne prennent pas en charge les points de sauvegarde Transaction. mais je ne pense pas à cela comme un inconvénient.
- Il prend un peu plus de ressources serveur que de faire une connexion à la fois.
- Vous devez exécuter SQL Server 2005 ou version ultérieure. Cela peut donc poser problème dans les environnements hérités (ack!).
vous cna utiliser SqlTransaction très bien. –
Combien coûte "un peu plus de ressources serveur"? Pouvez-vous mettre une estimation en termes de mémoire ou de CPU? Cela m'intéresse principalement parce que je suis dans un environnement Azure où les ressources sont proportionnelles au coût du serveur. –
- 1. Fusion de deux ensembles de résultats statistiques
- 2. Lucene .NET sous-ensembles de résultats
- 3. MARS vs NextResult
- 4. Comment combinez-vous plusieurs ensembles de résultats dans SSRS?
- 5. Comment concaténer des ensembles de résultats entiers dans MySQL?
- 6. linq colonnes multiples; obtenir des résultats bizarres
- 7. Inconvénients de Context.Current Pattern?
- 8. comment exécuter la procédure stockée de groovy qui renvoie plusieurs ensembles de résultats
- 9. Avantages et inconvénients de DotNetNuke?
- 10. Inconvénients d'imbrication de fenêtres enfants?
- 11. Passer plusieurs ensembles de résultats à une vue à partir d'un contrôleur dans ASP.NET MVC?
- 12. Accès aux ensembles de résultats depuis Procédures stockées Transact-SQL SQL Server
- 13. Pouvez-vous retourner plusieurs ensembles de résultats en utilisant PDO et PostgreSQL?
- 14. Transmettre des ensembles de données
- 15. Stocker les résultats des ensembles de tests exécutés à partir de Quality Center lors de l'utilisation de RunTestSet.exe
- 16. NUnit GUI Runner Fichiers de configuration multiples
- 17. Obtention efficace de sous-ensembles de tableaux
- 18. Comment puis-je prendre les résultats de sélections multiples et combiner en une seule ligne
- 19. JFrames multiples de JAR
- 20. validation de formulaires multiples
- 21. de 10,100,1000, multiples ... C#
- 22. Versions de rubygems multiples
- 23. téléchargement de fichiers multiples
- 24. Quels sont les avantages/inconvénients de py2exe
- 25. Utilisation de WebServiceHostFactory Avantages et inconvénients
- 26. Avantages et inconvénients de DFC et DFS?
- 27. Inconvénients de l'ASP.net Web Forms Viewcase MVC?
- 28. Can Entity Framework gère plusieurs ensembles de résultats (chacun provenant de tables jointes) à partir d'une procédure stockée?
- 29. Possible de faire du cache Flash de gros actifs sonores?
- 30. Quels sont les inconvénients des méthodes statiques?
Avant d'appliquer la bonne solution @RobS, je voudrais d'abord lire cet article pour vous assurer que vous ne pouvez pas résoudre ce problème avec la solution suivante: http://devproconnections.com/development/solving-net-scalability-problem OU en ajoutant .ToList() à la fin de votre appel DB, qui a résolu mon problème. Btw, merci RobS pour le bon conseil, MARS sera utile à l'avenir. :) – Termato