From: | Pierre BOIZOT <pierre(dot)boizot(at)gmail(dot)com> |
---|---|
To: | Guillaume Lelarge <guillaume(at)lelarge(dot)info> |
Cc: | PG-Mail-liste <pgsql-fr-generale(at)postgresql(dot)org> |
Subject: | Re: Partitionement |
Date: | 2013-10-05 05:24:48 |
Message-ID: | CANxSh5z1x5vpYRKUmmv2f-_CukfMGUhkpLrL_NHKqB5DaSUUJA@mail.gmail.com |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-fr-generale |
hello,
oui oui le code ne provient pas des articles.
c'est un extrait de code du cas qui m'occupe.
Les clause de contrainte de la partition.
Donc le partitionnement est fait sur un code et un interval de date.
La table a 380 partition et en aura à terme 750 environs.
Les requètes sont un peu lentes :-( + de 30 secondes.
je recherche la cause ....
la parametre contraint_exclusion est bien à on .
malgré cela le plan cherche à parcourir toutes les partition de la table.
d'ou ma question sur la relation entre les contraintes de la tables et
les restrictions de la clause where.
Y a t il une régle enoncée dans la documentation...
s'il y a une différence entre contrainte et clause where cela
revient il à intéroger la table sans les contraintes ?
Je vais me faire un petit test pour explorer cela.
ma question avait pour but de comprendre s'il y a des régles précises
le point 5.9.4 et 5.9.6. de la documentation ne dit pas comment se
comporte l'exclusion de contrainte dans le cas ou la clause where ne
comporte pas toutes les colonnes déclarées dans la contrainte de la
table.
A+
Pierre
Pierre.
G+
Le 4 octobre 2013 23:39, Guillaume Lelarge <guillaume(at)lelarge(dot)info> a écrit :
> On Fri, 2013-10-04 at 19:24 +0200, Pierre BOIZOT wrote:
>> Effectivement google donne pas mal de resource sur le sujet.
>>
>> Deux on retenu mon attention.
>>
>> http://www.enterprisedb.com/resources-community/tutorials-quickstarts/all-platforms/how-partition-table-postgres-plus
>>
>> http://www.fuzzy.cz/en/articles/automatic-management-of-partitions-in-postgresql/
>>
>>
>>
>> Je constate que les tables de partition ont des contraintes de ce style.
>>
>> CONSTRAINT analow_t20130924_pkey PRIMARY KEY (tor, trtime),
>> CONSTRAINT analow_t20130924_check
>> CHECK (lifetime::text = 'W'::text
>> AND trtime >= to_date('20130924'::text, 'yyyymmdd'::text)
>> AND trtime < to_date('20130925'::text, 'yyyymmdd'::text)
>> )
>>
>> Mais que les requetes ne font références dans leur clause where.
>> Qu'aux colonnes trtime et tor ...
>>
>> est-ce que les requetes doivent avoir les deux clauses lifetime intervalle
>> de date ?
>>
>> est-ce une piste '
>>
>> Ce que je testerai ce week-end si c'est le cas.
>>
>
> Je devrais peut-être allé me coucher. On est d'accord que le code des
> contraintes ci-dessus ne fait pas partie des articles dont tu as donné
> le lien ?
>
> Du coup, pourrais-tu donner un peu de contexte ?
>
>
> --
> Guillaume
> http://blog.guillaume.lelarge.info
> http://www.dalibo.com
>
From | Date | Subject | |
---|---|---|---|
Next Message | Guillaume Lelarge | 2013-10-05 16:00:31 | Re: Partitionement |
Previous Message | Pierre BOIZOT | 2013-10-05 04:30:10 | Re: psql : extension des commandes ... |