Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1978 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [PostgreSQL] Jointures et Indexes

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PostgreSQL] Jointures et Indexes

n°1461438
Ummon
Posté le 20-10-2006 à 14:56:13  profilanswer
 

Bonjour !
Alors voila un problème très simple a présenter mais que je ne comprends absolument pas.
Sur une base de données PostgreSQL (8.1.3) vierge je crée deux tables :

Code :
  1. CREATE TABLE A
  2. (
  3.    id int,
  4.    nom varchar(200),
  5.    primary key(id)
  6. );
  7. CREATE TABLE B
  8. (
  9.    id int,
  10.    nom varchar(200),
  11.    a int,
  12.    FOREIGN KEY(a) REFERENCES A ON DELETE SET NULL,
  13.    PRIMARY KEY(id)
  14. );
  15. CREATE INDEX b_a_INDEX on B(a);


 
Puis j'ajoute quelques valeurs :

Code :
  1. insert into A (id, nom) VALUES (1, 'A1');
  2. insert into A (id, nom) VALUES (2, 'A2');
  3. insert into B (id, nom, a) VALUES (1, 'B1', 1);
  4. insert into B (id, nom, a) VALUES (2, 'B2', 2);
  5. insert into B (id, nom, a) VALUES (3, 'B3', NULL);


 
Et finalement j'execute une requête avec EXPLAIN car c'est justement de l'utilisation des indexes que vient mon problème.

Code :
  1. EXPLAIN SELECT
  2. A.nom, B.nom
  3. FROM A INNER JOIN B ON B.a = A.id


 
J'obtiens :

Code :
  1. Hash Join  (cost=16.50..39.47 rows=510 width=236)
  2.   Hash Cond: ("outer".a = "inner".id)
  3.   ->  Seq Scan on b  (cost=0.00..15.10 rows=510 width=122)
  4.   ->  Hash  (cost=15.20..15.20 rows=520 width=122)
  5.         ->  Seq Scan on a  (cost=0.00..15.20 rows=520 width=122)


 
Comme on peut le voir il fait deux "Seq Scan" ce qui à mon avis n'est pas normal à cause des indexes.
 
Quelqu'un aurait une explication ? ... Peut être que la réponse est RTFM! :)
 
Merci d'avance !


Message édité par Ummon le 20-10-2006 à 15:20:04
mood
Publicité
Posté le 20-10-2006 à 14:56:13  profilanswer
 

n°1463626
Ummon
Posté le 23-10-2006 à 22:54:06  profilanswer
 

Personne pour m'aider ? http://www.euphorik.ch/boardel/smiles/sisicaivrai.gif


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [PostgreSQL] Jointures et Indexes

 

Sujets relatifs
[PostgreSQL - Tsearch2] Configuration du dictionnairePostgresql : Insertion par paquets
[postgresql]requete nombre de colonnesMigration Postgresql Win vers Postgresql Linux
[Postgresql] recherche et heritageQuestion à 2 balles sur les jointures et creation table
tri sur date avec des jointures[JAVA/Postgresql] Caractère d'échappement
[JAVA/Postgresql] Caractère d'échappementQuestion sur les jointures
Plus de sujets relatifs à : [PostgreSQL] Jointures et Indexes


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR