SQL Server Performance

Para definir bien mi solucion

Discussion in 'Preguntas sobre SQL Server en Español.' started by fjac_pe, Feb 5, 2005.

  1. fjac_pe New Member

    Hola a todos, un favor, tengo una tabla que tengo que actualizar tanto requerimiento inicial y final en algunas columnas, no tengo problema, lo realice, pero si hago un inner join entre ambas tablas y uso un select en cada valor a cambiar, el procedimiento demora casi 1 segundo, pero la otra alternativa era generar una tabla temporal donde guardo primero el select para recuperar los registros con el minimo y maximo del registro deseado y a esta tabla resultante recien la relaciono a la anterior para actualizar y el procedimiento demora 0 segundos, no se cuantos milisegundos pero es mas rapido, la pregunta es, ¿es mejor crear tablas temporales para segmentar mi informacion, y si fuera asi, que diferencia tengo en crear una tabla normal y una del tipo temporal con $$ o ## no recuerdo bien?, de antemano gracias por sus comentarios seran de gran ayuda.
  2. c_maldon Member

    No creo que la respuesta pueda ser un absoluto, debe analizarse cada caso, ya que en algunos es mejor y en otros es indiferente, con lo cual se agrega una complejidad innecesaria de administrar.

    Las tablas temporarias que yo uso son las de un solo # no con dos ##, ya que estas no son locales a la conexion y pueden llevar a errores.
  3. c_maldon Member

    Hay muchos artículos sobre tablas temporarias.

    Los mejores consejos dicen:

    . Tratar de evitar las temporarias (##) globales
    . Usar tablas temporarias en lugar de cursores
    . No llenar y crear las tablas en un solo paso con la instrucción

    SELECT INTO
    Ej:

    SELECT Campo1, Campo2 INTO Temp# From MiTabla

    . Siempre crear un indice en la tabla temporaria

    Saludos
  4. fjac_pe New Member

    Ok, revisare la documentacion a la que te refieres, gracias nuevamente

Share This Page