pá 30. 11. 2018 v 15:37 odesílatel Sanyo Moura <sanyo.mo...@tatic.net>
napsal:

> Hello again,
>
> At the moment, I've got a palliative solution that has significantly
> reduced my planning time.
> What I did was nest the partitions by creating sub partitions.
> That way, my 730 partitions (2 years of data) were partitioned first in 2
> years,
>  and each partitioned year in 12 months.
> In turn, each month received the partitions per corresponding day.
> That way, the planner needs to go through far fewer partitions to execute
> the plan.
>
> My planning time has dramatically reduced from 15s to 150ms.
>

good to know it.

Regards

Pavel


> Regards,
>
> Sanyo Moura
>
> Em qua, 28 de nov de 2018 às 23:01, Sanyo Moura <sanyo.mo...@tatic.net>
> escreveu:
>
>> Em qua, 28 de nov de 2018 às 22:40, Justin Pryzby <pry...@telsasoft.com>
>> escreveu:
>>
>>> On Wed, Nov 28, 2018 at 05:03:15PM +1300, David Rowley wrote:
>>> > On Wed, 28 Nov 2018 at 03:16, Sanyo Moura <sanyo.mo...@tatic.net>
>>> wrote:
>>> > > 11.0
>>> > > Planning Time: 7.238 ms
>>> > > Planning Time: 2.638 ms
>>> > >
>>> > > 11.5
>>> > > Planning Time: 15138.533 ms
>>> > > Execution Time: 2.310 ms
>>> >
>>> > Does it still take that long after running ANALYZE on the partitioned
>>> table?
>>>
>>> Note, I'm sure 11.5 was meant to say 11.1.
>>>
>>
>> Yeah, 11.1, sorry for mistake.
>>
>>
>>>
>>> Also note this earlier message indicates that "high partitions" tests
>>> were with
>>> just 10.6 and 11.1, and that times under 11.0 weren't a useful datapoint:
>>>
>>
>> That's true, at 11.0 version I had tested with only 21 partitions because
>> by this time I didn't have
>> realized that it was an issue with a huge number of partitions.
>> In both versions 10.6 and 11.1 I have tested with 730 partitions each
>> (2 years of data partitioned by day).
>>
>> Sanyo
>>
>>
>>>
>>> On Tue, Nov 27, 2018 at 11:36:09PM -0200, Sanyo Moura wrote:
>>> > However, in the test I did in version 11.0, "Precio" is partitioned
>>> into
>>> > only 21 partitions.
>>>
>>> I reduced the query a bit further:
>>>
>>> |postgres=# explain SELECT m-n FROM (SELECT a.i2-b.i2 n FROM partbench
>>> a, partbench b WHERE a.i2=b.i2) x, (SELECT max(partbench.i2) m FROM
>>> partbench)y WHERE m=n;
>>> |Time: 35182.536 ms (00:35.183)
>>>
>>> I should have said, that's with only 1k partitions, not 10k as you used
>>> in
>>> June.
>>>
>>> I also tried doing what the query seems to be aiming for by using a
>>> window
>>> function, but that also experiences 30+ sec planning time:
>>>
>>> |explain SELECT rank() OVER(ORDER BY var) AS k FROM (SELECT
>>> p.plusalesprice-q.plusalesprice as var from precio p, precio q ) l_variacao
>>> |Time: 34173.401 ms (00:34.173)
>>>
>>> Justin
>>>
>>

Reply via email to