¿Alguien conoce las desventajas de MARS (Conjuntos de resultados activos múltiples)? ¿Alguien sabe de alguna razón por la que uno debe evitar el uso de MARS, como los casos en que los cursores son más útiles que MARTE.Desventajas de MARS (conjuntos de resultados activos múltiples)?
Respuesta
Al parecer, hay al menos dos (potenciales) inconvenientes conocidos (de este (1) Team blog):
Obviamente, esto puede causar problemas potenciales para los sistemas heredados que no fueron diseñados para funcionar contra un MARS habilitado diseño - "código existente optimizado para funcionar en el mundo no-MARS puede mostrar una ligera disminución de rendimiento cuando se ejecuta un-modificado con MARS"
“con Marte puede enviar múltiples mu lti-statement lotes al servidor. El servidor intercalará la ejecución de tales lotes, lo que significa que si los lotes cambian el estado del servidor mediante sentencias SET o USE, por ejemplo, o usan declaraciones de gestión de transacciones TSQL (BEGIN TRAN, COMMIT, ROLLBACK), tanto usted como el servidor pueden confundirse sobre lo que su intención real es.”
todavía tengo que probar un diseño MARS habilitado, pero estoy llegando muy cerca de hacerlo en mi proyecto actual. Tenemos un ligero problema con las operaciones de consulta competidoras (ya veces dependientes) (como los datos de configuración de carga diferida de la misma base de datos que se está ejecutando un conjunto de registros activo).
Hay más información en el sitio de 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]
dependiendo de qué? no hay desventajas reales
no son compatibles con los puntos guardados de la transacción. pero no pienso en esto como una desventaja.
- Toma un poco más de recursos de servidor que hacer una conexión a la vez.
- Debe ejecutar SQL Server 2005 o posterior. Entonces eso puede ser un problema en entornos heredados (¡ack!).
puedes hacer una donación utilizar SqlTransaction bien. –
¿Cuánto cuesta "un poco más de recursos del servidor"? ¿Puedes ponerle un presupuesto en términos de memoria o CPU? Estoy interesado en esto principalmente porque estoy en un entorno de Azure donde los recursos son proporcionales al costo del servidor. –
- 1. desventajas de la utilización de MARS (varios conjuntos de resultados activos)
- 2. ¿Cómo se combinan múltiples conjuntos de resultados en SSRS?
- 3. MySQL: diferencia de dos conjuntos de resultados
- 4. función PostgreSQL devolver varios conjuntos de resultados
- 5. Simple.data con procedimiento almacenado que devuelve varios conjuntos de resultados
- 6. Recuperar conjuntos de resultados múltiples con procedimiento almacenado en php/mysqli
- 7. conjuntos de objetos múltiples del mismo tipo
- 8. Conjuntos de pruebas múltiples en Maven
- 9. Conjuntos de dispositivos múltiples en rieles?
- 10. Combinar múltiples conjuntos de filas en SPARQL
- 11. Trazar múltiples conjuntos de puntos en R
- 12. Transmisión de grandes conjuntos de resultados con MySQL
- 13. ¿Cómo puedo concatenar conjuntos de resultados completos en MySQL?
- 14. MySQLdb es extremadamente lento con grandes conjuntos de resultados
- 15. Desventajas de CouchDB
- 16. ¿Puede Entity Framework tratar con múltiples conjuntos de resultados (cada uno de tablas unidas) de un procedimiento almacenado?
- 17. Devolución de resultados múltiples desde un método
- 18. Múltiples búfers de resultados "Ocurrir" en emacs?
- 19. excel vlookup con resultados múltiples
- 20. PHPUnit - reutilización de objetos simulados para múltiples conjuntos de pruebas
- 21. Prueba de múltiples conjuntos de datos con ScalaTest
- 22. ¿La mejor manera de encontrar la intersección de conjuntos múltiples?
- 23. obteniendo varios conjuntos de resultados del procedimiento almacenado de mysql en los rieles
- 24. múltiples conjuntos de torsión x eje en flot
- 25. Combinar elementos de múltiples conjuntos en un solo conjunto
- 26. Mercurial - diff múltiples conjuntos de cambios en la misma hora?
- 27. ¿Es posible devolver varios conjuntos de resultados usando ExecuteQuery en Linq a Sql?
- 28. Acceso a conjuntos de resultados desde Procedimientos almacenados Transact-SQL SQL Server
- 29. Desventajas de WebFormsMVP?
- 30. Posibles desventajas de Zend
Antes de aplicar la gran solución de @RobS, leí este artículo primero para asegurarme de que no puede resolver este problema con la siguiente solución: http://devproconnections.com/development/solving-net-scalability-problem O agregando .ToList() hasta el final de su llamada al DB, que resolvió mi problema. Por cierto, gracias a RobS por el gran consejo, MARS será útil en el futuro. :) – Termato