A parte prazerosa do negócio realmente é a otimização, sendo assim seguimos
um princípio que para
otimizar uma consulta podemos utilizar desde verificação de índices,
mudanças em sqls de consulta,
refatoração para desempenho (mudanças no modelo), aprimoramento de novas
tabelas com dados sumarizados e também particionamento quando temos uma
grande massa de dados. Uma outra técnica utilizada também é separar banco de
consulta do banco de movimentação (transacional), até o modelo do banco de
consulta passa a ser no formato *Star Schema ou **SNOW FLAKE **que é
utilizado no conceito de DataWarehouse (DW). *
*
*
*
*
***Star Schema http://pt.wikipedia.org/wiki/Esquema_estrela*

Mas tudo isso deve ser valido, até mesmo para o molho não sair mais caro que
a carne, ou seja, você deve aplicar alguma técnica que satisfaça a sua
aplicação ou até mesmo, conviver com o problema de otimização (em alguns
casos), pois o custo de tornar uma aplicação mais rápida pode ser tão alto
que se torna inviável.

Att
Rodrigo Della Justina
*
*
* <http://pt.wikipedia.org/wiki/Esquema_estrela>
*
Em 15 de abril de 2011 20:24, Tiago Adami <adam...@gmail.com> escreveu:

> Em 15 de abril de 2011 10:18, Fábio Gibon - Comex System
> <gi...@comexsystem.com.br> escreveu:
> > Olá pessoal,
> >         analisando as views de stat conseguimos identificar índices que
> não
> > são utilizados, porém isto ainda não nos diz que esta "não utilização" é
> > pela aplicação não estar fazendo uso de cláusulas que possam ser
> atendidas
> > pelo índice ou pela tabela ser pequena e o otimizador optar por um table
> > scan. Há como eu diferenciar isto em algum local do dicionário de dados
> do
> > banco?
> >
> > * provisoriamente adotei um valor x de registros como sendo
> > permissível/aceitável o table scan, então se o acesso sequencial retornar
> > mais que este valor eu já "fico de olho" para ver se não tem problema de
> SQL
> > mal escrito/erro de modelagem ou regra de negócio "torta".
> >
>
> Não conheço a fundo o código-fonte do PostgreSQL - mesmo porque
> entendo muito pouco de C - mas pelo comportamento que vejo em outros
> bancos de dados, quando uma tabela está quase totalmente em cache e
> você cria um SQL SELECT que traz quase todos os registros, o
> otimizador é inteligente o suficiente para saber que um Table Scan é a
> melhor opção.
>
> Eu considero a parte de otimização de consultas a parte mais divertida
> e prazerosa do trabalho de um DBA. Muitas vezes - quase sempre - é
> necessário reescrever a consulta para melhorar o tempo de resposta,
> outras vezes você modifica um ou outro índice, e por aí vai. Existem
> 1001 maneiras de otimização... invente uma!
>
> --
> TIAGO J. ADAMI
> http://www.adamiworks.com
> _______________________________________________
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a