[firebase-br] Uso de Indices

Rodrigo firebase em dominioinf.com.br
Ter Nov 21 18:17:15 -03 2017


Boa tarde a todos,

Estou com um clientes que tem emissao de nota fiscal e na tabela notafiscal 
ja possui 40.000 notas
e na tabela detailfiscal mais de 100.000 registros, pelo que ouço falar não 
é muito pois muitos falam
em milhoes de registros e funciona bem rapido.

Porem tenho encontrado alguma lentidão no meu caso, fiz uns testes para ver 
a questão dos indices:

Teste 1  -- utilizou a index foi rapido

SELECT D.* FROM DETAILFISCAL D
LEFT JOIN NOTAFISCAL N ON (D.CODSEQ=N.SEQUENCIAL)
WHERE D.CODIGO=3000

PLAN JOIN (D INDEX (PK_DETAILFISCAL), N INDEX (PK_NOTAFISCAL))

Prepare: 0 ms  Execute: 188 ms  Fetch: 0 ms

Teste 2 -- Não foi tão rapido - Não usou index

SELECT D.* FROM DETAILFISCAL D
LEFT JOIN NOTAFISCAL N ON (D.CODSEQ=N.SEQUENCIAL)
WHERE N.NUMNOTA=30000


PLAN JOIN (D NATURAL, N INDEX (PK_NOTAFISCAL))

Prepare: 0 ms  Execute: 686 ms  Fetch: 514 ms

Teste 3 -- Não foi tão rapido - Não usou index

SELECT D.* FROM DETAILFISCAL D
LEFT JOIN NOTAFISCAL N ON (D.CODSEQ=N.SEQUENCIAL)
WHERE N.NUMNOTA STARTING WITH 3000

PLAN JOIN (D NATURAL, N INDEX (PK_NOTAFISCAL))

Prepare: 0 ms  Execute: 702 ms  Fetch: 530 ms

Essas são selects simples, porem em algumas mais complexas, pode gerar 4 a 6 
segundos de espera.

Ja fiz backup e restore no banco mas continua lento.

O que posso fazer para estar melhorando a performance?

Grato


---
Este email foi escaneado pelo Avast antivírus.
https://www.avast.com/antivirus





Mais detalhes sobre a lista de discussão lista