Quando gerar Index
30/06/2011
0
Estou aprendendo SQL Server e estou com alguns problemas no meu serviço.Tem um select com alguns JOINS e a consulta demora em média 00:00:45s para mostrar 49 registros.Como sei quando e onde devo gerar index?Alguém pode me ajudar?
obrigado.
Ureis
Posts
30/06/2011
Wilson Junior
Aguardo retorno.
30/06/2011
Ureis
Aguardo retorno.
SELECT I.DescAgrupRemessa, I.CdPrd, PR.DescPrd, SUM(I.Qtd) AS Qtd, CAST('N' AS CHAR(1)) AS Faturar FROM It_Doc I with(nolock) JOIN Document D with(nolock) ON(I.NrContrDoc = D.NrContrDoc) JOIN Produto PR with(nolock) ON(I.CdPrd = PR.CdPrd) JOIN PedDocs PD with(nolock) ON(D.NrContrDoc = PD.NrContrDoc) JOIN PedSai P with(nolock) ON(PD.NrContrPed = P.NrContrPed) JOIN TbSitPed SP with(nolock) ON(P.CdSit = SP.CdSitPed) WHERE D.TpDoc = '0' AND (D.Cancelado = 'N' OR D.Cancelado IS NULL) AND I.NrContrDocGerado IS NULL AND I.DtPrevRemessa <= '2011-06-01' AND I.DescAgrupRemessa IS NOT NULL AND SP.OpSit = '01' GROUP BY I.DescAgrupRemessa, I.CdPrd, PR.DescPrd ORDER BY I.DescAgrupRemessa, PR.DescPrd
Eu precisava aprender a olhar e saber onde esta o problema e onde devo gerar o index.Se você poder me dar dicas de como fazer, ou onde aprender, como apostilas, sites e etc...
Obrigado.
30/06/2011
Alex Lekao
30/06/2011
Wilson Junior
Espero ter colaborado.
30/06/2011
Ureis
Voce pode pegar o seu script e no SSMS(SQL Server Management Studio) e onde vc faz as digitacoes dos scripts, selecionar o seu script e escolher a opcao Exibir Plano de Execucao Estimado.
Nessa tela o proprio SQL Server ira indicar para vc um ponto onde podera criar indice e o tipo de indice a ser adotado.
Tambem ira apresentar quanto custa cada ponto da sua select para a execucao total.
Tambem sou novato no SQL e portando talvez possa ter utilizado alguns termos nao costumeiros entao, qualquer coisa eh so avisar.
Espero ter podido ajudar.
Abraco.
Alex - Lekao
Boa tarde,
Eu já tentei utilizar a opção de Exibir Plano de Execução Estimado. Mas como sou novo, não consigo entender muito bem.Se você tiver alguma video, ou qualquer outra coisa que me ajuda entender sobre esta opção, agradeço.
obrigado.
30/06/2011
Wilson Junior
Espero ter colaborado.
30/06/2011
Alex Lekao
Clique aqui para fazer login e interagir na Comunidade :)