2015-12-11 17:08 GMT-02:00 Luiz Carlos L. Nogueira Jr. <
[email protected]>:

>
> INFO:  "xxx": scanned 104314 of 104314 pages, containing 715972 live rows
> and 2718 dead rows; 300000 rows in sample, 715972 estimated total rows
>
> Isso quer dizer que ele calculou a estatística em cima de 300mil linhas?
>
> default_statistics_target = 1000        # range 1-10000
>

Dei uma olhada bem por cima no código em [1] (veja também a linha 1197,
onde emite a mensagem), e pelo que entendi o número de linhas que são
consideradas para a amostragem é o "statistics_target" multiplicado por um
fator fixo de 300 (não parei pra analisar o código melhor e ver se varia em
algumas situações, mas em alguns testes que fiz sempre deu exatamente 300).
A ideia é analisar uma amostragem de tuplas na tabela, essa amostragem será
de *pelo menos* 300*statistics_target caso a tabela tenha mais tuplas que
isso, mas pode ser mais; entretanto, serão armazenados nos
histogramas/valores comuns/etc. apenas statistics_target.

[1]
http://git.postgresql.org/gitweb/?p=postgresql.git;a=blob;f=src/backend/commands/analyze.c;h=ddb68abf6b4e358a5b69913ba66de65fdf367860;hb=HEAD#l1762

Atenciosamente,
-- 
Matheus de Oliveira
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a