Nuestro software debe poder ejecutarse en SQL Server 2000 y 2005. Para simplificar el desarrollo, estamos ejecutando nuestras bases de datos SQL Server 2005 en compatibilidad nivel 80. Sin embargo, el rendimiento de la base de datos parece más lento en SQL 2005 que en SQL 2000 en algunos casos (no hemos confirmado esto utilizando benchmarks todavía). ¿Mejoraría el nivel de compatibilidad a 90 para mejorar el rendimiento en los servidores SQL 2005?¿La ejecución de una base de datos de SQL Server 2005 en el nivel de compatibilidad 80 tiene un impacto negativo en el rendimiento?
Respuesta
Creo que he leído en alguna parte, que el motor de base de datos de SQL Server 2005 debe ser aproximadamente un 30% más rápido que el motor de SQL Server 2000. Es posible que tenga que ejecutar su base de datos en modo compatibilidad 90 para obtener estos beneficios.
Pero me encontré con dos escenarios, en los que el rendimiento puede caer dramáticamente cuando se utiliza mssql 2005 en comparación con mssql 2000:
descubrimiento de parámetros: Cuando se utiliza un procedimiento almacenado, SQL Server calculará exactamente un plan de ejecución en a la hora, primero llama al procedimiento. El plan de ejecución depende de los valores de los parámetros dados para esa llamada. En nuestro caso, los procedimientos que normalmente duraban unos 10 segundos se ejecutan durante horas bajo mssql 2005. Eche un vistazo a here y here.
Cuando se utilizan consultas distribuidas, mssql 2005 se comporta de forma diferente con respecto a las suposiciones sobre el orden de clasificación en el servidor remoto. El comportamiento predeterminado es que el servidor copie todas las tablas remotas involucradas en una consulta al tempdb local y luego ejecute las uniones localmente. La solución alternativa es usar OPENQUERY, donde puede controlar exactamente qué conjunto de resultados se transfiere desde el servidor remoto.
después de mover los DBs a 2005 hizo que
actualización de las estadísticas con barrido completo? reconstruyó los índices?
en primer lugar tratar de que a continuación, comprobar el rendimiento de nuevo
También un FYI, si ejecuta nivel de compatibilidad 90 a continuación, algunas cosas no se admiten más como el viejo exterior estilo se une (*= and =*)
¿Está utilizando subselects en tus consultas?
Desde mi experiencia, una instrucción SELECT con subselects que funciona bien en SQL Server 2000 puede rastrear en SQL Server 2005 (¡puede ser 10 veces más lenta!).
Realice un experimento: vuelva a escribir una consulta para eliminar las subselecciones y vea cómo cambia su rendimiento.
- 1. UILabel layer cornerRadius tiene un impacto negativo en el rendimiento
- 2. SQL Server 2008 nivel de compatibilidad
- 3. ¿Por qué la reutilización de un DataContext tendría un impacto negativo en el rendimiento?
- 4. Múltiples idiomas en una base de datos - SQL Server 2005
- 5. Cambiar el nombre del archivo de datos de la base de datos en SQL Server 2005
- 6. ¿Tiene ACL en Linux un impacto en el rendimiento?
- 7. SQL Server 2008 compatibilidad con SQL Server 2005
- 8. Almacenamiento de un valor de C# DateTimeOffset en una base de datos de SQL Server 2005
- 9. Base de datos SQL Server 2005 'En recuperación'
- 10. SQL Azure nivel de compatibilidad
- 11. ¿Cómo establecer el esquema predeterminado de una base de datos en SQL Server 2005?
- 12. la ejecución de una prueba en el servidor SQL 2005
- 13. MySQL vs SQL Server 2005/2008 rendimiento
- 14. Base de datos de SQL Server 2005 atascada en el modo de usuario único
- 15. SQL Server 2005 - Orden de combinaciones internas
- 16. Consulta SQL para mostrar todas las vistas en una base de datos de SQL Server 2005
- 17. ¿Cómo contar cada registro en cada tabla en una base de datos de SQL Server 2005?
- 18. Cambios de seguimiento en una base de datos de SQL Server 2005
- 19. ¿Cómo comprobar el rendimiento de una base de datos de SQL Server?
- 20. cómo enumerar todos los objetos de una base de datos en particular en SQL Server 2005
- 21. Cambiar el tipo de datos varchar a nvarchar en la base de datos existente de SQL Server 2005. ¿Cualquier problema?
- 22. crear tabla desde otra tabla en una base de datos diferente en el servidor sql 2005
- 23. Función de base de datos integrada en SQL Server 2005 para permitir la ejecución de procedimientos almacenados?
- 24. ¿Cómo selecciono un atributo de nivel superior de una columna xml en SQL Server 2005?
- 25. Buscar un objeto en SQL Server (base de datos cruzada)
- 26. ¿SQL Server 2005 tiene un equivalente al tipo de datos ENUM de MySql?
- 27. No se puede encontrar la fecha tipo de datos en SQL Server 2005
- 28. ¿Es posible restaurar la copia de seguridad de Sql Server 2008 en el servidor sql 2005
- 29. ¿Cómo recuperar la base de datos de MDF en SQL Server 2005?
- 30. ¿Qué base de datos incrustada tiene máxima compatibilidad con SQL y compatibilidad con concurrencia?