Précédent   Forum des professionnels en informatique > Bases de données > PostgreSQL
PostgreSQL Forum PostgreSQL. Avant de poster -> F.A.Q PostGreSQL Tutoriels PostGreSQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/03/2006, 16h25   #1
Invité régulier
 
Inscription : janvier 2005
Messages : 37
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : janvier 2005
Messages : 37
Points : 5
Points : 5
Par défaut Requetes et Index pour optimisation...

Bonjour a tous!
je cherche à optimiser des requetes sous postgres via la création d'index, voila un exemple de requete :
Code :
1
2
3
4
5
6
7
SELECT * 
FROM table1 t1, table2 t2
WHERE t1.chpdate1>uneDate 
AND t1.chpdate2<uneDate
AND t1.chptext1=untext 
AND t1.chpId=t2.chpIdT1
ORDER BY t2.chp1,t2.chp2,t2.chp3, t1.chp1 ASC
Qu'est ce que vous me connseillé comme création d'index (ou autre) pour améliorer les prefs?

Merci d'avance!!!
manuds est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2006, 20h56   #2
Membre éclairé
 
Inscription : janvier 2005
Messages : 336
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : janvier 2005
Messages : 336
Points : 353
Points : 353
Bonsoir

on pourrait avoir les résultats d'un explain plan pour savoir comment le traitement est fait ?
__________________
Christophe Chauvet (KrysKool)
kryskool est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/03/2006, 09h05   #3
Invité régulier
 
Inscription : janvier 2005
Messages : 37
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : janvier 2005
Messages : 37
Points : 5
Points : 5
Vola la veritable requete:
Code :
1
2
3
4
5
SELECT f.*, m.map_1, m.map_2, m.map_3, m.map_4, m.map_5
FROM t1 m, t2 f 
WHERE f.fic_ddp >= '20050315 00:00:00' AND f.fic_ddp <= '20060315 17:25:28' AND f.fic_ddv >= '20060315 17:25:28' 
AND m.map_1 = 'toto' AND (f.id = m.fiche_id)   
ORDER BY m.map_1 ASC,m.map_2 ASC,m.map_3 ASC,m.map_4 ASC,m.map_5 ASC,f.fic_vd1 ASC,f.fic_titre ASC
et le resultat d'un explain :
Code :
1
2
3
4
5
6
7
8
9
10
Sort  (cost=27.90..28.03 rows=49 width=798) (actual time=3.313..3.485 rows=48 loops=1)
  Sort KEY: m.map_1, m.map_2, m.map_3, m.map_4, m.map_5, f.fic_vd1, f.fic_titre
  ->  Hash JOIN  (cost=9.24..26.53 rows=49 width=798) (actual time=0.990..2.679 rows=48 loops=1)
        Hash Cond: ("outer".id = "inner".fiche_id)
        ->  Seq Scan ON t2 f  (cost=0.00..15.96 rows=169 width=662) (actual time=0.009..0.881 rows=169 loops=1)
              Filter: ((fic_ddp >= '2005-03-15 00:00:00'::timestamp without time zone) AND (fic_ddp <= '2006-03-15 17:25:28'::timestamp without time zone) AND (fic_ddv >= '2006-03-15 17:25:28'::timestamp without time zone))
        ->  Hash  (cost=9.11..9.11 rows=49 width=140) (actual time=0.577..0.577 rows=0 loops=1)
              ->  Seq Scan ON t1 m  (cost=0.00..9.11 rows=49 width=140) (actual time=0.034..0.365 rows=48 loops=1)
                    Filter: ((map_1)::text = 'toto'::text)
Total runtime: 3.753 ms
manuds est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h16.


 
 
 
 
Partenaires

Hébergement Web