Ribamar Sousa escreveu:
> 2008/7/2 junior Prado <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>:
>
> Sendo mais detalhista em minha pergunta;
>
>
> Caros amigos,
>
> Segundo no guia de usuário do postgresSQL 7.3.4 conforme abaixo:
>
> "
> *Nota: * Havendo uma coluna do tipo smallint ou bigint com um
> índice, podem ocorrer problemas ao tentar fazer o sistema utilizar
> este índice. Por exemplo, uma cláusula do tipo
>
> ... WHERE coluna_smallint = 42
>
> não usará o índice, porque o sistema atribui o tipo integer à
> constante 42, e o PostgreSQL atualmente não pode utilizar um
> índice quando dois tipos de dado diferentes estão envolvidos. Um
> modo de contornar este problema é colocar a constante entre
> apóstrofos. Portanto,
>
> ... WHERE coluna_smallint = '42'
>
> atrasa a resolução do tipo pelo sistema, fazendo com que seja
> atribuído o tipo correto para a constante.
>
> "
>
> Utilizando o postgres 8.3.3 a regra se aplica ao postgresSQL 7.3.4 ?
> O tipo INT é o melhor tipo de dado para indice em questão de
> performance?
>
>
> Bem Júnior, isso continua valendo para a versão 8. Não encontrei no
> manual do 8.3.3, pois sinceramente não lembro em qual capítulo li isso
> no 8.0. Em qual capítulo está no 7.3.4?
Não continua valendo não, vide resposta minha anterior. Isto foi
corrigido na versão 8.0. Hoje ele vai utilizar o índice normalmente. Ele
vai fazer a conversão automaticamente.
logist=# explain select codproduto, produto from clientes_produtos where
codproduto = 18;
QUERY PLAN
------------------------------------------------------------------------
Index Scan using clientes_produtos_idx1 on clientes_produtos
(cost=0.00..3.77 rows=1 width=220)
Index Cond: (codproduto = 18)
(2 registros)
logist=# explain select codproduto, produto from clientes_produtos where
codproduto = '18';
QUERY PLAN
------------------------------------------------------------------------
Index Scan using clientes_produtos_idx1 on clientes_produtos
(cost=0.00..3.77 rows=1 width=220)
Index Cond: (codproduto = 18::smallint)
(2 registros)
--
Shander Lyrio
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral