Olá pessoal Estou no momento codificando uma ferramenta para automatização da criação de índices. Eu sei que tem algumas contrib do postgresql que fazem isso, mas é para um projeto academico, etc.
Eu sei que quando uma tabela é "pequena"mesmo tendo um índice nela, o otimizador optara por carregar ela inteira na RAM (ou cache?) e aplicar os filtros em memoria semicondutora que é mais rápida que um hdd, até ai tudo bem. Mas teria como saber um valor (nem que for aproximado) de tamanho de tabela, em que seria interessante criar um índice (considerando o tamanho da ram como referencia)? Por exemplo se um Servidor de SGBD tem 8 GB de RAM, e uma tabela tem 9 GB também de tamanho, com certeza compensará criar um índice, (isso considerando que seria retornado somente até 2% dos registros devido aos filtros do where). Mas contando que NÃO é só o SGBD que utiliza a Memoria, e que também existira outras queries rodando utilizando memória, quanto de tamanho que uma tabela teria que ter, para um SGBD achar interessante utilizar um indice ao inves da tabela ser carregada inteira para a RAM? Considerando um servidor de 8 GB, se a tabela tiver 1 GB, 2 GB, 4 GB, quanto seria o tamanho mínimo para o otimizador utilizar um indice. Será que a concorrência no SGBD afetara muito essa conta? Abraços Neto _______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral