> > cd_cliente é uma chave primária? Qual é o esquema da tabela cliente?
Sim, cd_cliente é a chave primária. Essa é uma tabela que foi criada em nosso sistema em 1998 e não está normalizada como deveria, mas acho que nem vem ao caso. Essa tabela armazena clientes PF e PJ, por isso a PK não é o CPF do cliente. O cd_cliente é um char(11), composto pelo cd_filial_inclusao ( este é um numérico com 4 dígitos ) e mais o sequencial do cadastro por cd_filial_inclusao, com isso temos o cliente 00130000001, o 00130000002, o 06340000001, 06340000002, ... Quando o campo cd_filial_inclusao foi criado, muito antigamente, foi para remover as pesquisas que utilizavam where substring( cd_cliente, 0, 4 ) para ganhar performance. Temos em nossa rede um Servidor Sybase Entrerprise, que tem a mesma tabela, com os mesmos registros, e o plano de acesso utiliza o índice. > > Você tentou fazer um ANALYZE na tabela cliente antes da consulta. > Teve outro resultado? > > Sim, fiz um ANALIZE antes e o resultado foi o mesmo. Já executei o REINDEX, mas nada mudou. Euler, você explicou muito bem o porque o banco pode optar em não utilizar o índice, e tirou a minha dúvida. Essa consulta não está em nenhum sistema, mas eventualmente eu executo, então eu só queria mesmo entender o que estava ocorrendo. > -- > Euler Taveira Timbira - http://www.timbira.com.br/ > PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento > _______________________________________________ > pgbr-geral mailing list > [email protected] > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral >
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
