none
Herramienta RRS feed

  • Pregunta

  • Hola
    hay una herramienta en sql que me permita determinar el indice optimo de una consulta?
    Por ejemplo:
    Hago un

    select *
    from despachos
    where sc87a = 'e002' and sc2dga = '2009-01-03' and scpva = 'de'

    y me detemine un indice que me permita mejorar el tiempo de esta.

    De antemano agrdezco sus comentarios

    Fernando Moreno



    sábado, 4 de abril de 2009 17:05

Respuestas

  • Hola debes estar buscando el Database Engine Tuning Advisor lo encuentras en Performance Tools del menu de Microsoft SQL Server, guardas la consulta que deseas analizar en un archivo estension .sql y lo seleccionas como Workload (Tambien puedes escoger como origen de la carga de trabajo una traza resultado del SQL Server Profiler por ejemplo), ahora debes seleccionar la base de datos y/o las tablas que quieres poner a punto, vas al menu de Actions y le das Start Analysis, esta herramineta te sugiere las pariciones y/o indices que podrian ser necesarios para mejorar tu carga de trabajo y en que porcentaje de desempeño que podrias lograr, ademas desde alli puedes revisar los scripts de los objetos sugiere y ejecutarlos en ese mismo instante.

    Espero te sea de ayuda
    Andrés González
    MCITP | Business Intelligence Developer 2008
    MCPD | Web Developer
    http://www.intermezzo-bi.com
    sábado, 4 de abril de 2009 17:32
  • Hola.

    Tienes 2 dentro del propio management studio 2008. Por un lado está Database Engine Tunning Advisor (en el menú Tools) y por otro las propias sugerencias de índice que te ofrece al mostrar el plan de ejecución de una consulta (Ctrl + M y luego la ejecutas). La primera está en 2005 también.

    De todos modos, lo mejor es aprender un poco (de herramientas como estas entre otras cosas) e ir sabiendo uno mismo cuáles son los índices que más te convienen, ya que en ambos casos estas herramientas te analizan únicamente la consulta que le pasas, pero no tienen en cuenta el resto del entorno que le rodea. Por ejemplo, te pueden sugerir un índice que sea enorme e incluya muchísimos campos y que el mantenimiento de este índice te ocasiones después una pérdida de rendimiento a nivel global.

    Alberto López Grande.

    PD.: Gracias a todos los compañeros del foro por esta tercera estrella que recién obtenida, en gran medida debido a que marcáis mis modestos aportes como respuesta a vuestras dudas. 
    sábado, 4 de abril de 2009 18:36
    Moderador
  • Hola.

    En SQL Server 2000, dentro del Query Analyzer, menú Query, tienes el Index Tuning Wizard. No me gusta mucho, la verdad, pero pueden ayudarte también. 

    Prueba a obtener las herramientas cliente de SQL Server 2005 ó 2008, descargando la versión Express: http://go.microsoft.com/fwlink/?LinkID=122890

    Alberto López Grande.
    martes, 7 de abril de 2009 7:12
    Moderador

Todas las respuestas

  • Hola debes estar buscando el Database Engine Tuning Advisor lo encuentras en Performance Tools del menu de Microsoft SQL Server, guardas la consulta que deseas analizar en un archivo estension .sql y lo seleccionas como Workload (Tambien puedes escoger como origen de la carga de trabajo una traza resultado del SQL Server Profiler por ejemplo), ahora debes seleccionar la base de datos y/o las tablas que quieres poner a punto, vas al menu de Actions y le das Start Analysis, esta herramineta te sugiere las pariciones y/o indices que podrian ser necesarios para mejorar tu carga de trabajo y en que porcentaje de desempeño que podrias lograr, ademas desde alli puedes revisar los scripts de los objetos sugiere y ejecutarlos en ese mismo instante.

    Espero te sea de ayuda
    Andrés González
    MCITP | Business Intelligence Developer 2008
    MCPD | Web Developer
    http://www.intermezzo-bi.com
    sábado, 4 de abril de 2009 17:32
  • Hola.

    Tienes 2 dentro del propio management studio 2008. Por un lado está Database Engine Tunning Advisor (en el menú Tools) y por otro las propias sugerencias de índice que te ofrece al mostrar el plan de ejecución de una consulta (Ctrl + M y luego la ejecutas). La primera está en 2005 también.

    De todos modos, lo mejor es aprender un poco (de herramientas como estas entre otras cosas) e ir sabiendo uno mismo cuáles son los índices que más te convienen, ya que en ambos casos estas herramientas te analizan únicamente la consulta que le pasas, pero no tienen en cuenta el resto del entorno que le rodea. Por ejemplo, te pueden sugerir un índice que sea enorme e incluya muchísimos campos y que el mantenimiento de este índice te ocasiones después una pérdida de rendimiento a nivel global.

    Alberto López Grande.

    PD.: Gracias a todos los compañeros del foro por esta tercera estrella que recién obtenida, en gran medida debido a que marcáis mis modestos aportes como respuesta a vuestras dudas. 
    sábado, 4 de abril de 2009 18:36
    Moderador
  • Hola 
    Nosotros tenemos sql server 2000 , no veo este tipo de herrramienta 
    En donde la puedeo consgir y bajar
    Gracias

    Agradezco su valiosa colaboración

    Fernando Moreno
    martes, 7 de abril de 2009 3:26
  • Hola 
    Nosotros tenemos sql server 2000 , no veo este tipo de herrramienta 
    En donde la puedeo consgir y bajar
    Gracias

    Agradezco su valiosa colaboración

    Fernando Moreno
    martes, 7 de abril de 2009 3:27
  • Hola 
    Nosotros tenemos sql server 2000 , no veo este tipo de herrramienta 
    En donde la puedeo consgir y bajar
    Gracias

    Agradezco su valiosa colaboración

    Fernando Moreno
    martes, 7 de abril de 2009 3:27
  • Hola.

    En SQL Server 2000, dentro del Query Analyzer, menú Query, tienes el Index Tuning Wizard. No me gusta mucho, la verdad, pero pueden ayudarte también. 

    Prueba a obtener las herramientas cliente de SQL Server 2005 ó 2008, descargando la versión Express: http://go.microsoft.com/fwlink/?LinkID=122890

    Alberto López Grande.
    martes, 7 de abril de 2009 7:12
    Moderador