Re: Scanning all partition when more than 100 items in "where id in ()" clause
От | Tom Lane |
---|---|
Тема | Re: Scanning all partition when more than 100 items in "where id in ()" clause |
Дата | |
Msg-id | 19851.1532642641@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Scanning all partition when more than 100 items in "where id in ()" clause (Soni M <diptatapa@gmail.com>) |
Ответы |
Re: Scanning all partition when more than 100 items in "where id in()" clause
|
Список | pgsql-bugs |
Soni M <diptatapa@gmail.com> writes: > Hello All, I think I found bug here. Postgres 9.6.9 on Red Hat Enterprise > Linux Server release 7.5 (Maipo). I think it's a consequence of the limitation in predtest.c that it won't try to do predicate proofs using ScalarArrayOps with more than 100 array entries: /* * Proof attempts involving large arrays in ScalarArrayOpExpr nodes are * likely to require O(N^2) time, and more often than not fail anyway. * So we set an arbitrary limit on the number of array elements that * we will allow to be treated as an AND or OR clause. * XXX is it worth exposing this as a GUC knob? */ #define MAX_SAOP_ARRAY_SIZE 100 Not a bug, but a tradeoff. You'd be unhappy if the planner spent longer devising the plan than it saved to eliminate the extra partitions. regards, tom lane
В списке pgsql-bugs по дате отправления: