[firebase-br] Ajuda para analizar/entender Plan Analizer.
Kleber Caneva
kdcc em terra.com.br
Qui Set 13 08:35:46 -03 2007
Pra mim está perfeito... todos os Joins estão usando index.
A unica tabela que não usa Index é a Principal (MOVTOITE), provavelemnte pq
o campo MARCOD não está indexado.
A unica dica que fica, é se vc for fazer muitas pesquisas usando esse campo
e ele não tiver uma granulidade baixa, você pode criar um indice neste
campo.
[]´s
Kléber Caneva
----- Original Message -----
From: "Fausto" <fausto.s.a em uol.com.br>
To: <lista em firebase.com.br>
Sent: Wednesday, September 12, 2007 6:57 PM
Subject: [firebase-br] Ajuda para analizar/entender Plan Analizer.
Boa noite pessoal, estou fazendo uma query no ibexpert e gostaria da
opinião de vocês sobre este plan que esta sendo retornado..
Plan
PLAN JOIN (MI NATURAL,CO INDEX (PK_CORES),MA INDEX (PK_MARCA),MC INDEX
(PK_MOVTODOC),TM INDEX (PK_TIPMOVTO),PR INDEX (PK_PRODUTOS),GR INDEX
(PK_GRUPOS),FO INDEX (PK_FORNECEDORES))
Adapted Plan
PLAN JOIN (MI NATURAL,CO INDEX (PK_CORES),MA INDEX (PK_MARCA),MC INDEX
(PK_MOVTODOC),TM INDEX (PK_TIPMOVTO),PR INDEX (PK_PRODUTOS),GR INDEX
(PK_GRUPOS),FO INDEX (PK_FORNECEDORES))
------ Performance info ------
Prepare time = 20ms
Execute time = 10ms
Avg fetch time = 0,83 ms
Current memory = 1.161.544
Max memory = 1.292.272
Memory buffers = 2.048
Reads from disk to cache = 0
Writes from cache to disk = 0
Fetches from cache = 797
A instrução SQL é essa..:
SELECT
MI.MOVLAN,MI.MOVDAT,MI.PROREF,PR.PRODES,MA.MARDES,CO.CORDES,
FO.FORNOM,MI.GRACOD,MI.PROSIG,MI.MOVCUS,MI.MOVPRE,MI.MOVDSC,
MI.MOVTIP,TM.TIPDES,MI.PROQ01,MI.PROQ02,MI.PROQ03,MI.PROQ04,
MI.PROQ05,MI.PROQ06,MI.PROQ07,MI.PROQ08,MI.PROQ09,MI.PROQ10,
MI.PROQ11,MI.PROQ12,MI.PROQ13,MI.MOVTOT
FROM
MOVTOITE MI
INNER JOIN MOVTODOC MC ON (MI.MOVLAN = MC.MOVLAN)
INNER JOIN PRODUTOS PR ON (MI.PROCOD = PR.PROCOD)
INNER JOIN FORNECEDORES FO ON (PR.FORCOD = FO.FORCOD)
INNER JOIN GRUPOS GR ON (PR.GRUCOD = GR.GRUCOD)
INNER JOIN MARCA MA ON (MI.MARCOD = MA.MARCOD)
INNER JOIN CORES CO ON (MI.CORCOD = CO.CORCOD)
INNER JOIN TIPMOVTO TM ON (MC.TIPCOD = TM.TIPCOD)
where (MI.MARCOD = 1)
Não estou sabendo analisa-lo poderiam me dizer se estes valores são
"bons" ou tenho que melhorar alguma coisa com esta condição no where
*where MI.MARCOD = 1* foi retornado 19 registros de uma base com 123
registros.
Grato
--
Fausto Alves
Franca - SP
Enviado pelo Mozilla Thunderbird
http://br.mozdev.org/thunderbird
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
E-mail classificado pelo Identificador de Spam Inteligente Terra.
Para alterar a categoria classificada, visite
http://mail.terra.com.br/cgi-bin/imail.cgi?+_u=kdcc&_l=1,1189634720.687295.16278.cadarga.hst.terra.com.br,5557,Des15,Des15
Mais detalhes sobre a lista de discussão lista