Comparcion Entre Index Tuning Wizard 2000 y Database Tuning Advisor 2005 Beta

Introducción

A las tareas habituales de cualquier DBA, existe una que nos debe ocupar nuestro poco tiempo libre: Investigar.

En mi caso, la investigación la concentro en nuevas herramientas que faciliten nuestro trabajo o, mejor aún, que los resultados obtenidos puedan ser aplicados con el objetivo de mejorar cualquiera de las actividades que involucran la tarea de DBA.

Con esa idea comencé a analizar SQL 2005 Beta 3, preguntándome: Las herramientas como Database Tuning Advisor(DTA), podrían mejorar la elección de los índices sobre una Base de Datos de SQL 2000?

Para responderme esta pregunta me basé en una Base de Datos de un cliente real, es decir no me pareció adecuado generar una base de prueba, sino por el contrario utilizar una de las bases que actualmente estoy optimizando.

Para comenzar tome una consulta de la aplicación real utilizada por el cliente  capturándola con el Profiler de SQL 2000.

Análisis Utilizando Index Tuning Wizard(ITW)

La consulta es:

SELECT DISTINCT t.fecha AS c0,

       c.prefijoext AS c1,

       c.numeroext AS c2,

       c.talonario AS c3

  FROM Transac t (nolock)

       join cmpasociados c (nolock)

         on t.nrotrans = c.nrotrans

       join tiposcmp ti (nolock)

         on c.codcmp = ti.codcmp

       join talonarios tal (nolock)

         on c.talonario = tal.talonario

   and t.codemp = tal.codemp

 WHERE T.Nrotranselim is null

AND (CASE WHEN T.Codcmp in (‘CA’, ‘CC’, ‘CB’, ‘CE’, ‘LR’, ‘LO’, ‘LP’, ‘CZ’, ‘VA’,
‘VB’, ‘VC’, ‘VE’, ‘VZ’) THEN T.Nrotransaut

    WHEN T.Codcmp in (‘IE’, ‘EE’, ‘RD’) THEN T.Nrotransctrl

    ELSE T.Nrotrans END) is not null

   AND (t.CodEmp is null

  or t.codemp = 1)

   AND c.talonario = 25

   AND t.codsuc = 1

 ORDER BY c2 DESC

Esta consulta copiada al Query Analyzer genera el siguiente plan de ejecución:

Las estadísticas de la ejecución de la consulta mostraron los siguientes valores:

170259 row(s) affected)

Table ‘TRANSAC’. Scan count 1, logical reads 31004, physical reads 1065, read-ahead reads 29512.

Table ‘CMPASOCIADOS’. Scan count 1, logical reads 8482, physical reads 0, read-ahead reads 4393.

Table ‘TIPOSCMP’. Scan count 1, logical reads 2, physical reads 0, read-ahead reads 2.

Table ‘TALONARIOS’. Scan count 1, logical reads 2, physical reads 2, read-ahead reads 0.

Continues…

Leave a comment

Your email address will not be published.