Bom dia.
Estou com um problema e não sei o que está causando este.
Ao executar a seguinte consulta :
SELECT max( cd_cliente ) FROM cliente WHERE cd_filial_inclusao = 563
O resultado do plano de acesso é o seguinte:
____________________________________________________________________________________
Result (cost=29.31..29.32 rows=1 width=0) (actual
time=291588.847..291588.847 rows=1 loops=1)
Output: $0
Buffers: shared hit=323106 read=1181788
InitPlan 1 (returns $0)
-> Limit (cost=0.43..29.31 rows=1 width=12) (actual
time=291588.840..291588.840 rows=1 loops=1)
Output: ((cliente.cd_cliente)::text)
Buffers: shared hit=323106 read=1181788
-> Index Scan Backward using pk_cliente on cliente
(cost=0.43..377539.21 rows=13071 width=12) (actual
time=291588.837..291588.837 rows=1 loops=1)
Output: cliente.cd_cliente
Index Cond: ((cliente.cd_cliente)::text IS NOT NULL)
Filter: (cliente.cd_filial_inclusao = 563)
Rows Removed by Filter: 1738205
Buffers: shared hit=323106 read=1181788
Planning time: 0.340 ms
Execution time: 291588.916 ms
1 rows returned (execution time: 11,466 sec; total time: 11,498 sec)
____________________________________________________________________________________
A tabela em questão ( cliente ), tem 2.435.230 linhas com 341 (
cd_filial_inclusao ) diferentes.
Um dos índices da tabela é composto por cd_filial_inclusao, dh_inclusao.
____________________________________________________________________________________
CREATE INDEX idx_cliente_inclusao ON cliente
USING btree (cd_filial_inclusao, dh_inclusao);
____________________________________________________________________________________
Neste caso a consulta não deveria utilizar o índice acima para realizar a
busca? Pois até onde tenho conhecimento, ainda que um índice seja composto,
se eu utilizar as colunas na ordem do índice na cláusula where, ainda que
não utilize todas as colunas que compõe o índice, a busca deveria utilizar
ele.
SO: Windows 7 de 64 bits
POSTGRESQL: PostgreSQL 9.4.0, compiled by Visual C++ build 1800, 64-bit
Também testado na versão: PostgreSQL 9.4.1, compiled by Visual C++ build
1800, 64-bit onde o resultado foi o mesmo.
Agradeço antecipadamente as ajudas.
Fernando Luís Cambiaghi
*[email protected] <[email protected]>*
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral