locked
sql server 2005 y sql server 2014 RRS feed

  • Pregunta

  • Hola queridos amigos , bueno el dia de hoy estoy medio consternado por lo que me ha pasado, les cuento brevemente. Pasaq tenia una base de datos hecha en sql2005, hice un backup y la restaure en sql2014 obviamente en otra instancia, ahora ejecuto la consulta en sql2005 y demora 0.2 segundos en traerme 1600 registros, sin embargo ejecuto la misma consulta en sql 2014 y demora 1 minuto con 20 segundos en traerme los 1600 registros. No se supone que sql2014 es 30 veces mas rapido..si alguien me puede orientar les estaria muy agradecido. 

    Un abrazo!

    jueves, 5 de febrero de 2015 5:52

Respuestas

  • Tus queries ya llevan ejecutándose más tiempo en el motor de 2005 lo cual crea planes de ejecución, tener la base no quiere decir que algunas cosas actúen igual ya que puedes tener cuestiones depreciadas, debes de actualizar los índices y estadísticas para que sql pueda responder de manera eficiente.

    Tienen motores distintos, seguro también esta aun actuando bajo compatibilidad a 2005, deberías de checar esta lista te será útil, luego dale aunque sea un dia de execute.

    http://thomaslarock.com/2014/06/upgrading-to-sql-server-2014-a-dozen-things-to-check/

    jueves, 5 de febrero de 2015 14:00

Todas las respuestas

  • Vaya muchas cosas cosas que pueden pasar en este escenario

    Tomare lo primero que debes de saber, no compares una version de sql con otra, mucho menos cuando el motor actua muy distinto al generar planes en 2014 que en las versiones anteriores, segundo estas hablando de memory tables cuando hablas de ese nivel de performance, no de tablas físicas.

    Ahora bien que tan grande es la base? si solo la migraste tomara tiempo en reconstruir los planes de ejeccución y tener los suficientes para que sea un performance parecido, tambien espero que hayas verificado el nivel de fragmentacion de los indices y que las estadisticas esten al día. No podemos hacer una comparación tan a la ligera sin tener toda esta información al día.

    jueves, 5 de febrero de 2015 6:07
  • Muchas gracias por su respuesta, las dos bases de datos son identicas y la verdad no son muy grandes, pero ejecuto un store procedure en sql 2005 y el mismo en sql 2014 el tiempo de respuesta en sql2005 es muchisimo mas rapido que el de 2014, yo se q sql2014, actua distinto pero no e supone que deberia ser capaz de responder igual o mas rapido que sql2005? O es que en sql2014 debo tomar en cuenta muchas otras cosas que crear dos tablas, hacer un inner join yhacer la consulta de respectiva?
    jueves, 5 de febrero de 2015 13:34
  • Buen dia! como estas? En esta clase de casos el analisis es largo... primero que diferencia de recursos tenes entre uno y otro? te hablo de memoria cpu y discos, despues si los dos son iguales podes comparar los planes de ejecucion (formas de buscar la info, indices costos etc) si seguimos iguales te propongo que ejecutes DBCC FREEPROCCACHE para evitar el parameter sniffing y limpiar el cache o bien agregar al stored procedure la opcion de with recompile para que cada vez que ejecutes te cree un plan nuevo(hoy en dia con los recursos que tenes el uso de cpu por tiempos de recompilacion es minimo).

    Avisame como te fue toda esta info.

    saludos!

    jueves, 5 de febrero de 2015 14:00
  • Tus queries ya llevan ejecutándose más tiempo en el motor de 2005 lo cual crea planes de ejecución, tener la base no quiere decir que algunas cosas actúen igual ya que puedes tener cuestiones depreciadas, debes de actualizar los índices y estadísticas para que sql pueda responder de manera eficiente.

    Tienen motores distintos, seguro también esta aun actuando bajo compatibilidad a 2005, deberías de checar esta lista te será útil, luego dale aunque sea un dia de execute.

    http://thomaslarock.com/2014/06/upgrading-to-sql-server-2014-a-dozen-things-to-check/

    jueves, 5 de febrero de 2015 14:00
  • Bueno amigos gracias por sus respuestas, la verdad lo único que hice fue borrar los indices de una tabla y volverlos a crear y vuala, mi query respondía ya con normalidad, muchas gracias a todos por responder, les envío un  fuerte abrazo!!!!
    sábado, 7 de febrero de 2015 13:59
  • Eso quiere decir que debias de defragmentar los indices y actualizar estadisticas, cosa que hiciste al hacer ese proceso.

    En todo caso es un gusto saber que lo pudiste resolver.

    sábado, 7 de febrero de 2015 19:55