Banco de Dados - SQL Server

Usando o Index Tunning Wizard

Este artigo tem como objetivo ensinar as pessoas a trabalhar com o Index Tunnig Wizard, uma poderosa ferramenta do SQL 2000 que faz a análise das queries, e cria os índices apropriados nas tabelas desejadas, melhorando a performance do banco de dados.

por Thiago Pastorello Gervazoni



Na coluna passada eu mencionei a importância de se ter índices nas tabelas, e qual índice se encaixa em cada caso, nesta coluna veremos o funcionamento do index tunning wizard, uma poderosa ferramenta do SQL SERVER 2000, que analisa as queries e cria os índices apropriados nos lugares certos.

Podemos utilizar ITW, sempre que criarmos uma nova database ou mesmo em databases já antigas.

O ITW pode :

Prover um relatório das propostas de troca ou criação de índices como:

  • Índices já usados correntemente e índices recomendados
  • Melhora de performance para as 100 queries mais expressivas e tabelas participantes do worload.
Para se usar o ITW, precisa ser membro do sysadmin porque as queries são analisadas em contexto de segurança.

Não é recomendado usar o ITW quando :

  • Tabelas tem referências cruzadas, e não existem na base de dados
  • Tabelas de sistemas

Não é preciso dropar os índices já existentes na sua base, para rodar o ITW, mantenha-os. Os hints as vezes impedem que o ITW faça a melhor escolha aos índices, portanto retire-os se existirem, até criar o arquivo de worload.

Práticas Recomendadas

  • Implemente o ITW em apenas uma parte da sua base de dados, pelo menos por vez
  • Não deixe o arquivo de workload muito grande, não é isto que vai fazer a diferença.

Arquivo de Workload

O Arquivo de worload nada mais é do que as queries montadas em grande arquivo, para isto vamos utilizar o PROFILER, do SQL para rastrear as queries que estão sendo executadas e passar estas queries para o ITW.

1) Vá em INICIAR / PROGRAMAS / MICROSOFT SQL SERVER / PROFILER

2) No Profiler clique em FILE / NEW / TRACE

3) Entre com usuário e senha

4) Dê um nome ao arquivo que será nosso arquivo de Workload, e clique em SAVE TO FILE

Informe o lugar para salvar o workload (que vai crescendo enquanto o trace estiver rodando)

Basta clicar em RUN

ATENÇÃO: É preciso neste momento executar as queries do sistema, é bom que os próprios usuários estejam trabalhando no sistema enquanto este arquivo estiver gravando. Através destas queries que o SQL indicará os índices.

5) Depois de algumas horas (Isto pode ser agendado no próprio profiler) dê stop, e o nosso arquivo de workload está pronto.

6) No Query Analyser , clique em QUERY / INDEX TUNNING WIZARD

Clique em avançar e selecione o Database que deseja. Obs : Deixe sempre análise em medium.

Ao clicar em avançar clique em MY WORKLOAD FILE e indique o lugar onde você o gravou

Selecione todas as tabelas, se for a necessidade

Neste momento a análise está sendo realizada

Aqui está o relatório do que o SQL alteraria

No botão Analysis existe um relatório mais detalhado das mudanças, se você estiver de acordo clique em avançar

Ao clicar em concluir, o SQL criará todos estes índices automaticamente

A partir de agora você tem a sua base indexada, o ITW é uma ótima ferramenta e deve ser sempre utilizada nas suas databases.

Até a próxima

Thiago Pastorello Gervazoni

Thiago Pastorello Gervazoni - Pós graduando pela FGV em MBA-TI Aplicada a Gestão Estratégica dos Negócios, Bacharel e formado em Matemática e Ciências da Computação pela São Camilo. Líder de projetos na Deloitte, desenvolve com plataforma .NET. Possui certificação MCDBA (Microsoft Certified Database Administrator), MCAD (Microsoft Certified Application Developer) e ministra palestras pela Microsoft.

TheSpoke: http://br.thespoke.net/MyBlog/Tpastorello/MyBlog.aspx