GIST optimization to limit calls to operator on sub nodes
От | Pujol Mathieu |
---|---|
Тема | GIST optimization to limit calls to operator on sub nodes |
Дата | |
Msg-id | 53A14F6A.60006@realfusio.com обсуждение исходный текст |
Список | pgsql-general |
Hello, My question is about GIST index. I made my own index to handle specific data and operators. It works pretty fine but I wonder if it was possible to optimize it. When I run my operator on a GIST node (in the method gist_range_consistent) it returns "NotConsistent" / "MaybeConsistent" / "FullyConsistent". NotConsistent -> means that all subnodes could be ignored, gist_range_consistent return false MaybeConsistent -> means that at least one subnode/leaf will be consistent, gist_range_consistent return true FullyConsistent -> means that all subnodes/leaves will be consistent, gist_range_consistent return true So like with the "recheck flag" I would like to know if there is a way to notify postgres that it is not necessary to rerun my operator on subnodes, to speedup the search. For example, consider the following gist tree R / \ Na Nb / \ / \ La1 La2 Lb1 Lb2 If all nodes return FullyConsistent, postgres will run tests in that Order : R, Na, Nb, La1, La2, Lb1, Lb2, thanks to recheck flag it will not test rows associated to leaves Lxx. My goal is that postgres run test on R and then skip tests on other nodes. So is there a way to do that in the GIST API ? Or could I share data from R to Nx and then From Na to Lax and Nb to Lbx ? Thanks, Mathieu
В списке pgsql-general по дате отправления: