Bonjour,
Suis nouveau. Pas pu trouver de réponse dans une discussion existante.
Je ne comprends pas pourquoi l'Explain Plan utilise un FULL ACCESS sur la table generalite dans cetet requette
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Select * from generalite c join payeur p on (p.code_payeur=c.code_payeur) where p.code_mode_reglement = 'CA'
Ces tables ont pas mal de lignes. Sur une requette plus complexe, c'est sensible.
Je souhaiterais un accès de ce type :
1 FULL ACCESS sur table payeur (pas le choix, code_mode_reglement n'est pas dans un index)
2 Acces index GENERALITE_INDX4 sur table generalite
Quelle syntaxe SQL utiliser ?
Explain Plan
Définition tables (simplifiée)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Plan SELECT STATEMENT ALL_ROWSCost: 22 363 Bytes: 54 558 438 Cardinality: 64 262 3 HASH JOIN Cost: 22 363 Bytes: 54 558 438 Cardinality: 64 262 1 TABLE ACCESS FULL TABLE BSP.PAYEUR [Analyzed]Cost: 6 358 Bytes: 12 304 092 Cardinality: 25 958 2 TABLE ACCESS FULL TABLE BSP.GENERALITE [Analyzed]Cost: 6 174 Bytes: 189 009 000 Cardinality: 504 024
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 CREATE TABLE GENERALITE ( CODE_CLIENT NUMBER(8) NOT NULL, CODE_PAYEUR NUMBER(8), ) CREATE UNIQUE INDEX GENERALITE_PK ON GENERALITE (CODE_CLIENT); CREATE INDEX GENERALITE_INDX4 ON GENERALITE(CODE_PAYEUR) ALTER TABLE GENERALITE ADD (CONSTRAINT GENERALITE_PK PRIMARY KEY (CODE_CLIENT) USING INDEX CREATE TABLE PAYEUR ( CODE_CLIENT NUMBER(8) NOT NULL, CODE_PAYEUR NUMBER(8) NOT NULL, CODE_MODE_REGLEMENT CHAR(4 BYTE), ) CREATE UNIQUE INDEX PAYEUR_PK ON PAYEUR(CODE_CLIENT, CODE_PAYEUR) CREATE UNIQUE INDEX PAYEUR_INDX6 ON PAYEUR(CODE_PAYEUR) ALTER TABLE PAYEUR ADD ( CONSTRAINT PAYEUR_PK PRIMARY KEY(CODE_CLIENT, CODE_PAYEUR) USING INDEX ALTER TABLE PAYEUR ADD ( CONSTRAINT PAYEUR_INDX6 UNIQUE (CODE_PAYEUR) USING INDEX ALTER TABLE PAYEUR ADD ( CONSTRAINT PAYEUR_FK2 FOREIGN KEY (CODE_MODE_REGLEMENT) REFERENCES MODE_REGLEMENT (CODE_MODE_REGLEMENT));
Partager