PostgreSQL
La base de données la plus sophistiquée au monde.

Ouverture de session

Navigation

Contactez-nous

Administration du site :
"equipe chez postgresqlfr point org"

Contact presse :
"fr chez postgresql point org"

Contact association :
"bureau chez postgresqlfr point org"

Questions PostgreSQL :
 IRC :
  serveur irc.freenode.net
  canal #postgresqlfr

Recherche

Accéder aux archives

« Octobre 2008  
Lun Mar Mer Jeu Ven Sam Dim
  2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31  

Syndication

Flux XML

Sondage

Quelle est la version de PostgreSQL la plus répandue sur vos serveurs ?
8.3
10%
8.2
42%
8.1
40%
8.0
2%
7.4
6%
7.3 ou antérieure
0%
Nombre de votes: 48

partitionnement

Technique - optimisation | partitionnement

Par martial le 23/01/2006 - 17:07

Bonjour,

Je traite de grosses volumétries (200 Go) que je souhaiterais partitionner par jour (le champ date étant présent dans mes tables).

Toutefois, l'optimiseur scanne chaque partition si la contrainte check qui définit chacune des partitions
ne specifie pas en dur la valeur complete de la date :
soit par exemple :

CREATE TABLE test_j2 (
CHECK (date='2005-01-02' )
) INHERITS (mesure);

Or mon historique est sur plusieurs années, ce qui implique de faire un check sur chacune de ces années
et de remettre à jour toutes ces contraintes pour chaque nouvelle année!

soit par exemple pour chaque partition, soit pour chaque jour
CREATE TABLE test_j2 (
CHECK (date='2003-01-02' OR date='2004-01-02' OR date='2005-01-02')
) INHERITS (mesure);

Quelqu'un aurait -il une meilleure solution qui me permette de grouper chaque jour dans une partition sans specifier l'année et que l'optimiseur ne scanne que la partition du "bon" jour?

Merci d'avance.

MB

PS : j'ai essayé avec
CREATE TABLE mesure_j02 (
CHECK (EXTRACT(doy from date)=2 )
) INHERITS (mesure);
mais l'optimiseur scanne toutes les partitions en cas de recherche sur un jour donné.

© PostgreSQLFr, tous droits rĂ©servĂ©s.
Site déclaré à la CNIL sous le numéro 1074678, conformément à la Loi en vigueur.