Em 10/03/08, Roberto Mello<[EMAIL PROTECTED]> escreveu:
> On Sun, Mar 9, 2008 at 5:19 PM, Ribamar Sousa <[EMAIL PROTECTED]> wrote:
>  > Em 09/03/08, Roberto Mello<[EMAIL PROTECTED]> escreveu:
>  >
>
> > > Nao sei se voce entendeu que se tu fazes um count() na tabela inteira,
>  >  >  tu NAO ESTAS USANDO INDICE NENHUM.
>  >
>  >  Não entendi, pois sinceramente não sabia disso.
>
>
> Isso é um ponto de confusão freqüente. Os aficionados do MySQL
>  freqüentemente fazem "benchmarks" em que comparam a performance do
>  COUNT() (sem nenhuma condição) do MySQL com o do PostgreSQL como
>  "prova" que o MySQL é "muito mais rápido".
>
>  Ora, quando usando MySQL com tabelas MyISAM o MySQL faz um cache do
>  número de registros, então a operação COUNT() sem condições retorna
>  instantâneamente. MyISAM não tem que se preocupar com transações nem
>  nada.
>
>  No PostgreSQL se você fizer uma COUNT(), o valor tem que ser
>  condizente com a *transação* onde a consulta foi feita. Ou seja, para
>  uma mesa tabela, os valores de COUNT() vão ser diferentes conforme a
>  transação. Não se há outras razões técnicas por que não fazer um cache
>  similar ao do MySQL para os casos onde se quisesse o valor de tuplas
>  "committed", mas confio no PGDG (que é muito competente) que se não
>  foi feito é por que há boas razões para tal.
>
>  Outro erro freqüente em relação à índices é que botam um índice numa
>  coluna varchar, aí fazem consultas usando lower(colunavarchar). O
>  índice não será usado por que o índice está agindo sobre os valores
>  normais. Para que uma consulta com lower() use um índice, tem que se
>  criar um outro índice funcional, ou seja um índice em
>  lower(minhacolunavarchar).
>
>

roberto, para esses casos eh possivel usar índices funcionais para
indexar aqueles valores apos o uso do lower ou de qualquer outro
tratamento



>  Roberto
>
> _______________________________________________
>  pgbr-geral mailing list
>  [email protected]
>  https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>


-- 
Nabucodonosor Coutinho
--
O cartão de crédito que você ganha comprando ou indicando pessoas ->
http://www.cartaounicardmegabonus.net
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a