Partitioning and constraint exclusion
От | Jayadevan M |
---|---|
Тема | Partitioning and constraint exclusion |
Дата | |
Msg-id | CAFS1N4homc1VroymavL0shVg1E089t_kJM_3sKDMwG8vrhMqcw@mail.gmail.com обсуждение исходный текст |
Ответы |
Re: Partitioning and constraint exclusion
Re: Partitioning and constraint exclusion |
Список | pgsql-general |
Hello ,
I have a parent table and 6 child tables (partitions). The child tables have check constraints defined in the form
CHECK (myuid in (123,456,..)).
myuid is bigint, the constraints for the 6 child tables are definitely mutually exclusive. The number of values in the list ranges from 2-10 for 5 of the child tables. For the 6th child table, the list is 2500+ elements. When I try explain/explain analyze for even a simple query like
select * from parent where myuid in (123,456,789)
the child table with 2500+ elements gets always scanned. I have an index on the column and that does get used. But why doesn't the planner just use constraint exclusion and not go for the index scan? Anyone faced a similar issue?
Thanks,
Jayadevan
В списке pgsql-general по дате отправления: