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 :

optimisation par index


Sujet :

PostgreSQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 20
    Par défaut optimisation par index
    J'ai affaire à une BD constituée de nœuds comme étant des pc.
    Lors de mon stage, je dois superviser le comportement des utilisateurs et les mots clé les plus recherchés dans les réseaux P2P.
    lors de la création des tables, j'ai utilisé des index sur les clés secondaires d'autres tables en utilisant btree.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    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
    32
    33
     
    CREATE TABLE searchs (
    	id serial NOT NULL,
    	timestamp timestamp with time zone NOT NULL,
    	-- KadID of the source of the request
    	srcid integer NOT NULL,
    	-- KadID of the sybil that received the request
    	sybilid integer NOT NULL,
    	-- Kad ID of researched resource
    	targetid varchar(128) NOT NULL,
    	-- type of the resource addressed
    	-- 0: Kadv1 no type defined
    	-- 1: keyword
    	-- 2: file
    	type integer DEFAULT 0 NOT NULL,
    	-- Kad version of the request
    	version integer
    );
     
    ALTER TABLE ONLY searchs
    	ADD CONSTRAINT primary_searchs PRIMARY KEY (id);
     
    -- the srcid is the id from the peers table
    ALTER TABLE ONLY searchs
        ADD CONSTRAINT searchs_foreign_srcid FOREIGN KEY (srcid) REFERENCES peers(id);
    -- the sybilid is the id from the sybils table
    ALTER TABLE ONLY searchs
        ADD CONSTRAINT searchs_foreign_sybilid FOREIGN KEY (sybilid) REFERENCES sybils(id);
     
    CREATE UNIQUE INDEX index_searchs_id ON searchs USING btree (id);
    CREATE INDEX index_searchs_srcid ON searchs USING btree (srcid);
    CREATE INDEX index_searchs_sybilid ON searchs USING btree (sybilid);
    CREATE INDEX index_searchs_targetid ON searchs USING btree (targetid);
    le résultat c'est que pour superviser l'utilisation d'un seul mot-clé, il me faut une journée d'attente.
    est-ce qu'il y a une solution pour diminuer ce temps??
    Merci

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 874
    Par défaut
    D'une manière générale, quand une requête prend trop de temps, il faut utiliser EXPLAIN ANALYZE pour voir comment elle est exécutée.

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 997
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 997
    Billets dans le blog
    6
    Par défaut
    Pourquoi votre table n'a pas de clef primaire ? Toute table doit en principe avoir une clef primaire qui créé un index sous jacent.... Ce n'est pas la même chose qu'un index unique...

    D'autre part sans votre requête on ne peut pas savoir quoi faire !

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

Discussions similaires

  1. [2008] Optimisation par Index filtré sur existant
    Par Sergejack dans le forum Développement
    Réponses: 21
    Dernier message: 28/12/2012, 09h50
  2. Optimisation par index?
    Par Niak74 dans le forum SQLite
    Réponses: 7
    Dernier message: 10/12/2009, 11h02
  3. optimisation par "logical indexing"
    Par christophe_halgand dans le forum MATLAB
    Réponses: 2
    Dernier message: 22/06/2009, 17h32
  4. Algorithme d'optimisation par colonie de fourmis
    Par floopy dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 08/11/2006, 15h03
  5. Optimisation BDD Index etc..
    Par mediateur59 dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 20/10/2006, 11h23

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