Pessoal, desculpe, mas na conta que fiz, cometi um erro, não considei o . (ponto) como separador decimal, como é feito no Inglês. Mas mesmo assim o resultado final da mensagem anterior é próximo a 182 minutos. Ou seja
419.113/1000 = 0.41 segundos * 26469 (loops) = 11093.50 segundos or 184 minutos Depois de analisar, vi que em alguns lugares do plano, está utilizando Paralelismo. Será que isto explica porque o valor final em minutos gasto para percorrer um índice (184 minutos) é maior que o tempo total da query (66 minutos)? Em 7 de setembro de 2017 20:02, Neto pr <[email protected]> escreveu: > Saudacões, > Estou tentando interpretar um Explain Analyze, mas travei nisso: > > --> Segundo a documentacão do Postgresql em: > http://pgdocptbr.sourceforge.net/pg80/performance-tips.html > > "o valor de "loops" (laços) expressa o número total de execuções do nó, e os > valores de "actual time" (tempo real) e "rows" (linhas) mostrados são > valores médios por execução.... Deve ser multiplicado pelo valor de "loops" > para obter o tempo total realmente gasto no nó." > > Mas veja esse caso, em que o tempo total da query foi de 66 minutos. > ( Explain Analyze completo e Query nesse link: https://goo.gl/Kp45fu ou > anexo ) > > O que me interessa é este trecho: > > ##################################################################################### > -> Index Scan using idx_l_partkeylineitem000x on lineitem > (cost=0.57..97.65 rows=26 width=36) > (actual time=23.615..419.113 rows=30 loops=26469) > Index Cond: (l_partkey = part.p_partkey) > ##################################################################################### > Segundo a documentacão, deveria-se multiplicar o Actual Time pelo número de > Loops. > Ou seja: 419113 ms --> 419113/1000/60 = 6.9 minutos * 26469 (loops) = > 182,6 minutos. > > Mas como esse trecho demora 182,6 minutos, se a query inteira executou em 66 > minutos? > > Claro que estou cometendo algum erro de cálculo, mas se alguém puder me dar > uma dica de como faria esse cálculo de tempo. > O que preciso é saber qual o tempo gasto para percorrer o índice > idx_l_partkeylineitem000x, lembrando que fiz um Explain Analyze que > teoricamente é o tempo real gasto e não uma estimativa como no Explain. > > []'s Neto _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
