Re: PATCH: index-only scans with partial indexes
От | Kyotaro HORIGUCHI |
---|---|
Тема | Re: PATCH: index-only scans with partial indexes |
Дата | |
Msg-id | 20160226.160637.65689630.horiguchi.kyotaro@lab.ntt.co.jp обсуждение исходный текст |
Ответ на | Re: PATCH: index-only scans with partial indexes (Kyotaro HORIGUCHI <horiguchi.kyotaro@lab.ntt.co.jp>) |
Ответы |
Re: PATCH: index-only scans with partial indexes
Re: PATCH: index-only scans with partial indexes |
Список | pgsql-hackers |
Hello, This is a (maybe) committer-ready patch of a Tomas Vondra's project. This patch applies on the current master and passes make check. This is to exclude some base-estrict clauses that are implied by index predicates on index scans on partial indexes. First, this patch adds a new member indexrinfos to IndexOptInfo, which usually has the same value with baserestrictinfo of the parent RelOptInfo and cost_index() uses this instead of RelOptInfo.baserestrictinfo. For partial indexes, the clauses implied by the index predicates are removed from the indexrinfos, so that the result plan for scans on such indexes won't contain such restrictions. Such restrictions commonly become filter quals that are nothing but a useless work to do, so this will improve the performance of some index scans on partial indexes. The largest part of the extra cost of the additional work would be the cost of predicate_implied_by() on all clauses of baserectrictinfo and indpred of every IndexOptInfos. The extra work is done in check_partial_indexes() for all index scans on partial indexes. regards, -- Kyotaro Horiguchi NTT Open Source Software Center
В списке pgsql-hackers по дате отправления: