Bonjour,
J'essaie de m'auto-former sur les diverses méthodes pour optimiser une base de données, et je souhaite créer une vue indexée.
Voici le DDL de la base de test :
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Lors j'essaie de créer un index sur ma vue "dbo.fullname", j'obtiens une erreur comme quoi la vue n'est pas liée au schéma.
J'ai donc ajouté la clause WITH SCHEMABINDING à la déclaration de ma vue :
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
Sauf que maintenant SQL Server râle car l'index clustered de ma vue n'est pas unique.
J'ai donc essayé de créer cet index clusterd :
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part 
2
Et là, SQL Server râle à cause de la présence d'une clause "outer join" dans ma vue.
Bon, alors je réécris ma vue sans OUTER JOIN :
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
14
Et là, il veut toujours pas de l'index car la vue comporte des UNION...
Euh...
En fait, on peut faire des vues indexées uniquement si elles sont simple à bouffer de la paille ? Quel intérêt ?

 

 
		
		 
         
 

 
			
			

 
 
 
			 
   
 


 Création d'index sur une vue
 Création d'index sur une vue
				 Répondre avec citation
  Répondre avec citation


 
  
 
			

 
						
Partager