Bonsoir à tous,

Voici 6 tables qui pourront être jointe par des PK et des FK dans une requête.
Tantôt on a besoin que de joindre TABLE1 et TABLE2 tantôt quatre tables ou les six tables. On extrait des informations de TABLE6 et peut-être qu'en même temps on a besoin d'une information de TABLE1 ou de TABLE2 enfin bref.
Ce que je souhaiterais savoir, c'est, afin de réduire le nombre de requête ne serait-il pas plus approprié d'élaborer une vue joignant les 6 tables ou même plus ? :


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
 
CREATE VIEW vwListe(
    CHAMP1,
    CHAMP2,
    CHAMP3,
    CHAMP4,
    CHAMP5,
    CHAMP6)
 
AS
 
SELECT T1.CHAMP1,T2.CHAMP2,T3.CHAMP3,T4.CHAMP4,T5.CHAMP5, T6.CHAMP6 FROM TABLE1 T1 
INNER JOIN TABLE2 T2 ON T1.CHAMP1=T2.CHAMP2
INNER JOIN TABLE3 T3 ON T2.CHAMP2=T3.CHAMP3
INNER JOIN TABLE4 T4 ON T3.CHAMP3=T4.CHAMP4
INNER JOIN TABLE5 T5 ON T4.CHAMP4=T5.CHAMP5
INNER JOIN TABLE6 T6 ON T5.CHAMP5=T6.CHAMP6
...................................................................
...................................................................
De laquelle on extrait les informations (et pas forçément toutes) au besoins :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
SELECT CHAMP1,CHAMP2 FROM vwListe

au lieu de construire séparement :
Requete_1=SELECT CHAMP1,CHAMP2 FROM TABLE1 INNER JOIN TABLE2
Requete_2=SELECT CHAMP2,CHAMP3 FROM TABLE2 INNER JOIN TABLE3
Requete_n=....................................

Qu'en sera-t-il des performances si on fait appel tout le temps à cette vue au lieu de ces requêtes ?

Merci pour vos informations.