IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PostgreSQL Discussion :

Requetes et Index pour optimisation...


Sujet :

PostgreSQL

  1. #1
    Membre averti
    Inscrit en
    Janvier 2005
    Messages
    37
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Janvier 2005
    Messages : 37
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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!!!

  2. #2
    Membre chevronné

    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 338
    Par défaut
    Bonsoir

    on pourrait avoir les résultats d'un explain plan pour savoir comment le traitement est fait ?

  3. #3
    Membre averti
    Inscrit en
    Janvier 2005
    Messages
    37
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Janvier 2005
    Messages : 37
    Par défaut
    Vola la veritable requete:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

Discussions similaires

  1. Quelles clés d'index pour optimiser une requête ?
    Par Trs80M1 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 06/05/2013, 17h07
  2. Positionnement d'index pour optimiser une requête
    Par Monstros Velu dans le forum Développement
    Réponses: 14
    Dernier message: 17/02/2010, 16h53
  3. Réponses: 2
    Dernier message: 17/08/2006, 11h49
  4. [Mysql4] Un peu d'adie pour optimiser ma requete
    Par ePoX dans le forum Requêtes
    Réponses: 10
    Dernier message: 03/12/2005, 16h31
  5. Aide pour optimiser une requete
    Par Akanath dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 15/09/2005, 11h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo