Sunteți pe pagina 1din 17

Les vues et les index

Version 1.0

Grgory CASANOVA

James RAVAILLE
http://blogs.dotnet-france.com/jamesr

Les vues et les index [03/07/09]

Sommaire

Introduction ..................................................................................................................................... 3 1.1 1.2 Prsentation ............................................................................................................................ 3 Pr-requis ................................................................................................................................ 3

Prsentation des vues ..................................................................................................................... 4 2.1 2.2 Gnralits sur les vues ........................................................................................................... 4 Cration dune vue .................................................................................................................. 4 Avec du code T-SQL ......................................................................................................... 4 Avec SSMS ....................................................................................................................... 6

2.2.1 2.2.2 2.3

Suppression dune vue ............................................................................................................ 9 Avec du code T-SQL ......................................................................................................... 9 Avec SSMS ....................................................................................................................... 9

2.3.1 2.3.2 3

Les index ........................................................................................................................................ 11 3.1 3.2 Gnralits sur les index ....................................................................................................... 11 Index ordonns ou non ?....................................................................................................... 11 Les index organiss (index cluster) ................................................................................ 11 Les index non organiss(index non-cluster) .................................................................. 12

3.2.1 3.2.2 3.3 3.4 3.5 3.6 4

Crer un index ....................................................................................................................... 12 Supprimer un index ............................................................................................................... 13 Reconstruire un index ........................................................................................................... 13 Mettre jour les statistiques ................................................................................................ 14

Conclusion ..................................................................................................................................... 17

Dotnet France Association CASANOVA Grgory / James RAVAILLE

Les vues et les index [03/07/09]

1 Introduction
1.1 Prsentation
Dans les chapitres prcdents, en particulier les chapitres 2 et 3, nous avons prsent les bases de donnes SQL Server, ainsi que les objets quelles peuvent contenir. On appelle objet dune base de donnes, toute entit qui peut tre comprise dans une base de donnes. Nous allons continuer de prsenter ces objets dans ce chapitre, et introduisant et en approfondissant les notions concernant les vues et dindex dans une base de donnes, en prsentant quels sont leurs buts principaux, et comment les grer.

1.2 Pr-requis
Pour une bonne comprhension de ce chapitre, vous aurez besoin au pralable davoir lu les sujets suivants : La manipulation de SSMS et de ses fonctionnalits (Chapitre 1). Connaitre les gnralits sur les bases de donnes relationnelles (Chapitre 2). Matriser la plupart des actions possibles sur des objets de la base, en tout cas celles que nous avons vues (Chapitre 3 et 4). Il est important de noter que nous avons dfini ces actions comme tant des actions du DDL dans le chapitre prcdant.

Dotnet France Association CASANOVA Grgory / James RAVAILLE

Les vues et les index [03/07/09]

2 Prsentation des vues


2.1 Gnralits sur les vues
SQL Server 2008 permet la gestion dobjets associs aux tables, les vues. On peut dfinir une vue comme tant une table dite virtuelle, qui a la mme utilisation quune table, simplement une vue ne prend pas despace sur le disque, puisquelle ne stocke pas les donnes comme une table. Elle ne stocke que la requte dextraction des donnes (SELECT). Les vues sont un grand avantage quand la gestion des donnes, vis--vis de lutilisateur final. En effet, elles permettent tout dabord de simplifier la structure des tables, qui peuvent parfois comporter une multitude de colonnes. On pourra alors choisir, en fonction de lutilisateur, les colonnes dont il aura besoin, et ninclure que ces colonnes dans notre vue. Une vue peut aussi permettre la rutilisation des requtes. En effet, lorsque certaines requtes sont souvent utilises, une vue permettra de stocker cette requte et de lutiliser plus facilement. Et bien entendu, latout majeur des vues : la scurit daccs aux donnes. Il sera possible au travers de vues, de ne donner accs un ou des utilisateurs particuliers, que les colonnes dune table que nous voulons quil voie, et pas les autres. Ce contrle se fait grce la gestion des droits dutilisateurs et de groupes (Ce sujet est trait dans la partie Administration de SQL Server 2008). Comme tout les autres objets dune base de donnes, on peut crer une vue de deux manires. Par linterface graphique, ou bien par des instructions T-SQL dans le registre DDL. Les vues proposent donc des avantages quant leur cration : Simplification de la structure des tables. Rutilisation des requtes. Scurit daccs.

Important : La quasi-totalit des instructions du DML sont applicables sur les vues (INSERT, UPDATE, DELETE). Il faut simplement faire attention lors de linsertion aux colonnes nacceptant pas les valeurs NULL. De plus, linsertion de donnes au travers dune vue agrgeant des colonnes provenant de plusieurs tables est impossible.

2.2 Cration dune vue


2.2.1 Avec du code T-SQL La syntaxe de cration dune vue avec du code T-SQL est simple. On utilisera linstruction CREATE, comme pour toute cration dobjet dans une base de donnes.
CREATE VIEW Nom_Vue [options1] AS requte [options2]

Nous utilisons linstruction CREATE VIEW, auquel nous associons le nom que nous voulons lui donner. Le mot cl AS indique que nous allons spcifier la requte SELECT qui va nous permettre de slectionner les colonnes dune ou plusieurs tables, afin den copier les proprits dans la vue que nous crons. Il est bon de prciser que des clauses existantes pour une instruction SELECT classique ne conviendra pas pour une instruction SELECT servant crer nos vues. Ces instructions ne doivent pas tre autre que linstruction SELECT, et les clauses FROM et WHERE. Concernant les options 1 et 2 : loption 1 correspond aux options suivantes : WITH ENCRYPTION, WITH SCHEMABINDING, WITH Dotnet France Association CASANOVA Grgory / James RAVAILLE

Les vues et les index [03/07/09] VIEW_METADATA ; et loption 2 correspond loption suivant : WITH WHECK OPTION. Dcouvrons les actions de chacune des ces options sur notre vue. WITH ENCRYPTION : permet de crypter le code dans les tables systme. Attention : personne ne peut consulter le code de la vue, mme pas son crateur. Lors de la modification de la vue avec linstruction ALTER VIEW, il sera ncessaire de prciser de nouveau cette option pour continuer protger le code de la vue. WITH SCHEMABINDING : permet de lier la vue au schma. Avec cette option, il est impratif de nommer nos objets de la faon suivante : schma.objet. WITH VIEW_METADATA : permet de demander SQL Server de renvoyer les mtadonnes correspondantes la vue, et non celles qui composent la vue. WITH WHECK OPTION : permet de ne pas autoriser linsertion ni la modification des donnes ne correspondant pas aux critres de la requte.

Voici un exemple :
CREATE VIEW Ma_Premiere_Vue WITH ENCRYPTION AS SELECT Id_Client, Nom_Client FROM dbo.Client

Cet exemple permet de crer une vue dont le nom est Ma_Premire_Vue, avec loption WITH ENCRYPTION, et cette vue contiendra les colonnes Id_Client_archive et Id_Commande_archive de la table Archive. Vous pourrez alors retrouver votre vue dans le sous dossier de votre explorateur dobjet, comme prsent dans limage ci-dessous :

Dotnet France Association CASANOVA Grgory / James RAVAILLE

Les vues et les index [03/07/09] 2.2.2 Avec SSMS Il est trs intuitif de crer une vue grce SSMS. Pour de faire, de manire graphique, il vous suffit deffectuer un click droit sur le sous dossier Vues dans votre base de donnes, affiche dans lexplorateur dobjet. Aprs avoir effectu le click droit, slectionnez Nouvelle vue

Aprs avoir cliqu sur Nouvelle vue, les deux fentres suivantes apparaissent au sein mme de SSMS. La premire vous aidera slectionner des tables sur lesquelles la vue portera. La seconde vous permet de slectionner les colonnes utiliser et construire votre requte.

Dotnet France Association CASANOVA Grgory / James RAVAILLE

Les vues et les index [03/07/09]

Pour ajouter une table, cliquez sur le nom de la table voulue, et slectionnez Ajouter . Vous pouvez en ajouter plusieurs, via lutilisation de la touche [Control]. On remarquera que les tables, aussitt slectionnes, sont modlises dans la partie suprieure de la seconde fentre.

Dotnet France Association CASANOVA Grgory / James RAVAILLE

Les vues et les index [03/07/09]

Pour slectionner les colonnes mettre dans votre vue, cochez les cases correspondant vos colonnes dans les tables modlises dans la partie suprieure de la fentre. Lorsque lon coche des cases, on peut remarquer que le nom de ses colonnes est ajout dans la partie centrale de la fentre.

Dotnet France Association CASANOVA Grgory / James RAVAILLE

Les vues et les index [03/07/09] On peut alors modifier le type de tri, lordre, ou encore le filtre de cette vue en changeant les caractristiques dans la mme partie. Toutes les actions effectues permettront de gnrer le code de la vue. Voici un exemple :

Lorsque vous avez fini de concevoir votre vue, faites un clic droit sur longlet de la fentre dans SSMS, et choisissez Enregistrer . Donnez-lui un nom. Vous venez de crer votre vue.

2.3 Suppression dune vue


2.3.1 Avec du code T-SQL La structure de suppression dune vue est la mme que pour tout objet de la base de donnes. Elle est la suivante :
DROP VIEW nom_vue

2.3.2

Avec SSMS Avec SSMS, il vous suffit deffectuer un clic droit sur la vue dans lexplorateur dobjet et de slectionner Supprimer et de cliquer sur ok dans la nouvelle fentre qui apparait.

Dotnet France Association CASANOVA Grgory / James RAVAILLE

10

Les vues et les index [03/07/09] Grce au bouton, Afficher les Dpendances , Il est possible de mettre en vidence les dpendances existantes entre les objets de la base et la vue slectionne. Une nouvelle fentre saffiche lcran, dans laquelle vous pourrez choisir les diffrents types de dpendances.

Il vous suffit juste de savoir si vous voulez afficher les objets dpendants de la vue ou ceux dont dpend la vue en question.

Dotnet France Association CASANOVA Grgory / James RAVAILLE

11

Les vues et les index [03/07/09]

3 Les index
3.1 Gnralits sur les index
Les index que nous allons prsenter dans ce chapitre, sont similaires aux index qui sont prsents dans un livre par exemple, ou sur un site web. Si le but de lindex dun livre est de nous permettre daccder plus rapidement au sujet qui nous intresse dans ce livre, il en est de mme pour les index dans la base de donnes, la diffrence que ces index vont nous permettre de retrouver plus rapidement les donnes stockes dans la base. Si les index permettent de retrouver des donnes plus rapidement dans la base de donnes, ils ont un inconvnient majeur : ils sont couteux en mmoire et espace disque, surtout dans le cas de mises jours de colonnes indexes. Il faut bien garder en tte que les donnes vises par lindex y sont contenues, et donc que ces donnes occupent un espace disque non ngligeable. Il est donc ncessaire de bien dfinir la stratgie dindexation adopter en fonction des raisons voques plus haut, desquelles on peut tablir deux rgles importantes : Il est mieux davoir trop peu dindex que trop. Imaginez quun index existe pour chaque page dune livre. Il reviendra au mme de feuilleter le livre page page pour trouver ce que lon cherche. Les index doivent tre le plus large possible afin de pouvoir tre utiliss par plusieurs requtes.

Il existe plusieurs types dindex (index ou index-cluster, unique ou non unique). Dans ce cours nous mettrons davantage laccent sur leur cration, mise jour et suppression. Nous ne traiterons pas des index XML, car leur indexation est particulire. Nous le traiterons dans un chapitre propre au traitement des donnes de type XML. De plus, le partitionnement dindex est possible, mais cest une solution assez avance en termes de difficult. Nous le traiterons dans un chapitre ultrieur.

Remarque : il faut bien garder en tte que les index sont les catalyseurs de nos requtes. Ils vont permettre sur un serveur de plus grande envergure, dobtenir des temps de rponse de plus en plus courts, du fait que la requte naura pas accder et parcourir la totalit des donnes dans les tables, mais accdera un nombre beaucoup moins consquent de donnes dans notre index.

3.2

Index ordonns ou non ?

Sql server propose deux types dindex pour ses bases de donnes, les index organiss ou ordonns (un seul par table), et les index non organiss ou non ordonns (aucun, un ou plusieurs par table). Chaque type dindex possde ses avantages et ses inconvnients. Prenons le temps dexpliquer les caractristiques de chacun deux.

3.2.1

Les index organiss (index cluster) Sur chaque table de votre base de donnes, il nest possible de crer quun et un seul index organis. Ce type dindex permet dorganiser physiquement les donnes dune table en fonction dune colonne. Pour prendre un exemple, une table qui possde une cl primaire possde aussi un index ordonn, cest pourquoi les donnes sont ranges en fonction de la colonne o est dfinit la cl Dotnet France Association CASANOVA Grgory / James RAVAILLE

12

Les vues et les index [03/07/09] primaire. Ce type dindex est coteux en temps et espace disque pour le serveur lors de la construction ou la reconstruction de celui-ci. Il est bon de noter que si des index non ordonns existent dj sur une table, la construction dun index sera dautant plus longue quil y aura un nombre consquent dindex non ordonns dfinis sur cette table. Enfin, il est bon dviter de dfinir des index ordonns sur des champs tels que des noms ou des prnoms, car cette pratique mne irrmdiablement la dgradation des performances du serveur.

3.2.2

Les index non organiss (index non-cluster) Les index non organiss sont les index privilgier pour couvrir plusieurs requtes dans SQL Server. En effet, leur utilisation reste couteuse en espace disque, mais les requtes vitent un accs inutile la table, puisque seul lindex est manipul. Les performances sont alors amliores grandement, puisque la totalit des donnes nest pas manipule, mais seulement une partie des donnes, celle stocke dans lindex.

3.3 Crer un index


Un index peut tre cr nimporte quel moment, quil y ait ou non des donnes dans la table. Simplement, il est prfrable de crer lindex aprs une importation majeure de donnes, pour viter avoir le reconstruire par la suite, ce qui causera une perte consquente de temps au niveau serveur. Voici la syntaxe gnrale de cration dun index, que celui-ci soit ordonn ou non :
CREATE [UNIQUE] [CLUSTERED | NONCLUSTERED] INDEX Nom_Index ON Nom_Table (Nom_Colonnes1) [INCLUDE (Nom_Colonnes2)] [WITH] [PAD_INDEX OFF], [FILLFACTOR = x], [IGNORE_DUP_KEY = OFF], [DROP_EXISTING OFF], [ONLINE = OFF], [STATISTICS_NORECOMPUTE = OFF] [ON Nom_Groupe_Fichier]

Pour crer un index, nous nous servons de linstruction CREATE INDEX. Les choix compris entre les mots cls CREATE et INDEX servent dcider si lindex doit tre ordonn ou non, et sil doit tre unique. Avec la clause ON, on dfinit sur quelles colonnes porte lindex et avec la clause INCLUDE, on passe en paramtres plus de colonnes de la mme table, afin que les requtes naient qu chercher dans lindex lorsquelles sexcutent. La clause ON en toute fin de lot permet de dfinir sur quel groupe de fichier nous allons placer notre index. On peut noter que si le groupe de fichier nest pas prcis, lindex sera plac dans le groupe de fichier principal. A la suite de la clause WITH, nous trouvons les diffrentes options des index, qui par dfaut sont toutes dsactives (OFF) mis part FILLFACTOR. Voici le dtail des services que proposent ces options : PAD_INDEX : Prcise le niveau de remplissage du niveau non feuille. Cette option nest

utilisable quavec FILLFACTOR dont la valeur est reprise. FILLFACTOR : Prcise le pourcentage de remplissage des pages dindex au niveau feuille. La valeur par dfaut est 0. IGNORE_DUP_KEY : Cette option autorise les entres doubles dans les index de type UNIQUE. DROP_EXISTING : Prcise que lindex existant doit tre supprim. Dotnet France Association CASANOVA Grgory / James RAVAILLE

13

Les vues et les index [03/07/09] ONLINE : Lorsque cette option est active, les donnes de la tables restent accessibles

en lecture, lors de la cration de lindex. STATISTICS_NORECOMPUTE : Dsactiv, cette option prcise que les statistiques ne seront pas mise jour.

Nous allons maintenant crer un index non ordonn sur notre base de donnes Entreprise, base de donnes dont nous nous servons pour tous nos exemples dans ce cours. Cette base est accessible en annexe. Prenons un exemple simple. Dans notre table Client de la base de donnes Entreprise, le mail des client peut tre la valeur NULL. De plus, on remarque que le champ Mail_Client nest occup que pour 50% des cas, soit un cas sur deux. Laccs aux donnes est donc ralenti par le fait que la plupart des donnes sont NULL. On peu donc crer un index non organis de cette manire :
CREATE NONCLUSTERED INDEX Index_Mail ON Client (Mail_Client) INCLUDE (Id_Client) WHERE Mail_Client IS NOT NULL

Avec ce segment de code, nous allons crer un index non organis, qui sappelle Index_Mail, sur la table Client, pour la colonne Mail_Client, laquelle nous incluons Id_Client. Cet index va rcuprer toutes les informations de la table Client pour laquelle Mail_Client nest pas NULL, ce qui va nous permettre dacclrer nos requtes de faon consquente, dans le cas o la masse de donnes sur la base est consquente.

3.4 Supprimer un index


Comme chacun le sait dsormais, le mot cl pour supprimer un objet de la base est le mot DROP. Nous allons encore une fois lutiliser afin de pouvoir supprimer un index de la base. Voici la commande type de suppression dun index :
-- DROP INDEX Nom_Index ON Nom_Table DROP INDEX Index_Mail ON Client

La suppression dindex peut avoir plusieurs origines. La plus frquente est la suivante. Lorsquun index est trop couteux en maintenance et quil noffre pas de performances significatives sur les requtes, il peut tre prfrable de le supprimer.

3.5 Reconstruire un index


Autrefois, sur les versions antrieures SQL Server 2008, la commande de reconstruction dindex tait la suivante : DBCC DBREINDEX. Pour des soucis de compatibilit, cette instruction est maintenue, mais il est prfrable de ne plus lutiliser dans le cadre dun nouveau dveloppement. Maintenant, il est possible de reconstruire un index avec linstruction ALTER INDEX. Cette instruction va nous permettre de reconstruire un index particulier, ou tous les index dune table en particulier. Lors de cette instruction, nous pouvons changer les caractristiques de lindex que nous avons pu proposer lors de sa construction (FILLFACTOR, PAD_INDEX). La syntaxe de reconstruction est la suivante : Dotnet France Association CASANOVA Grgory / James RAVAILLE

14

Les vues et les index [03/07/09]

ALTER INDEX ( Nom_Index | ALL ) ON Nom_Table REBUILD [WITH] [PAD_INDEX OFF], [FILLFACTOR = x], [IGNORE_DUP_KEY = OFF], [DROP_EXISTING OFF], [ONLINE = OFF], [STATISTICS_NORECOMPUTE = OFF] [ON Nom_Groupe_Fichier]

A la suite de linstruction ALTER INDEX,il est ncessaire de prciser le nom du ou des index reconstruire, ou bien de prciser si lon veut que tous les index soient reconstruits en prcisant le mot cl ALL. La clause ON permet de prciser de quelle table sont originaires les ventuels index reconstruire et le mot cl REBUILD permet de prciser que lon veut reconstruire ces index. La dernire clause WITH permet quant elle de prciser les caractristiques des index reconstruire. Toutes les options contenues dans le WITH fonctionnent de la mme manire que pour la simple construction de lindex.

3.6 Mettre jour les statistiques


SQL Server utilise des informations statistiques pour optimiser les requtes. Ces informations doivent tre mises jour avant une modification importante des donnes. Deux mthodes de mise jour de ces informations sont possibles : la manuelle et lautomatique. En revanche, il est fortement conseill dutiliser les fonctions automatiques de mise jour de statistiques, pour une unique raison. Dans la plupart des cas, la dgradation des performances au niveau serveur est cause majoritairement ou en totalit par le fait que ces mises jour statistiques nont pas t faites. Nous allons donc prsenter la manire employer pour les mettre jour manuellement, simplement, il est fortement conseill de les mettre jour avec le systme automatique. La syntaxe de mise jour des statistiques est la suivante :
UPDATE STATICS Nom_Table Nom_Indexs WITH (FULLSCAN | SAMPLE n (PERCENT | ROWS) | RESAMPLE)

Pour mettre jour les statistiques, la syntaxe prsente est la bonne. UPDATE STATICS nous permet dannoncer que nous allons mettre jour les statistiques. Il est alors ncessaire de prciser le nom de la table concerne, et le nom des index dont les statistiques doivent tre mise jour. Si le nom des index est omis, toutes les statistiques de touts les index seront mis jour. La clause WITH permet de prciser les modes de mise jour que nous allons utiliser. Dtaillons les options possibles : FULLSCAN : Les statistiques vont tre cres avec un balayage complet de la table, soit

100% des lignes contenues dans la table prcise en paramtre. SAMPLE : Les statistiques vont tre tablies partir dun chantillon reprsentatif des informations contenues dans la table prcise en paramtre. La valeur n reprsente la valeur que nous voulons des lignes prendre en compte pour notre chantillon, quand aux mots cls PERCENT et ROWS, ils permettent de savoir dans lordre, si la valeur de n comprend une valeur en pourcentage ou une valeur en nombre de lignes de la table indique. RESAMPLE : Permet de redfinir les statistiques partir dun nouvel chantillonnage.

Dotnet France Association CASANOVA Grgory / James RAVAILLE

15

Les vues et les index [03/07/09] Comme dit prcdemment, la mise jour des statistiques de manire manuelle est proscrire, dans le sens o les mises jour automatiques sont possibles et que les performances de notre serveur en dpendent. Voyons de quelle manire nous allons oprer pour permettre nos bases de mettre jour automatiquement les statistiques de nos index. Deux manires existent pour arriver nos fins. Par linstruction ALTER DATABASE ou par la procdure stocke systme sp_autostats. Il faut simplement analyser les besoins que nous avons. Voyons avec les deux options possibles : Avec ALTER DATABASE :

ALTER DATABASE Entreprise SET AUTO_CREATE_STATISTICS ON

Il suffit de prciser le nom de la base aprs linstruction et de mettre ON loption AUTO_CREATE_STATISTICS. Ceci permet la mise jour automatique des statistiques. Avec sp_autostats :

exec sp_autostats Client

Lutilisation de la procdure stocke sp_autostats ncessite trois arguments maximum dont un seul obligatoire, le nom de la table sur laquelle nous voulons appliquer la mise jour automatique des statistiques.

3.7 Les vues indexes


Les vues indexes ont un unique objectif, comme tout autre objet index dans la base de donnes : amliorer les performances de nos requtes. Celles-ci sont surement les objets de la base offrant le plus de gain de performance dans SQL Server. On se sert le plus souvent de ce type de vues, sur des bases de donnes OLAP, c'est--dire pour des donnes qui vont tre le plus souvent en lecture, et trs peu mises jour. Ces index sont en particulier pratiques pour des requtes ncessitant des jointures et des agrgations. La vue indexe a pour effet de matrialiser les donnes. On prend le rsultat de la requte et on le stocke dans lindex. On met ensuite jour lindex en fonction des modifications sur la table de base. La cration dun index sur une vue ce fait de la mme manire que pour une table, simplement, un index sur une vue prsente de caractres propres de fonctionnement et de comportement que nous avons commenc prsenter. Pour une version Entreprise de SQL Server, ds lors que votre index est cr, le moteur de base de donnes utilisera celui-ci. En revanche, pour les autres versions de SQL Server, il faut prciser si lon veut utiliser lindex. La mthode est la suivante :
SELECT * FROM vue_Client WITH(NOEXPAND)

La clause WITH(NOEXPAND) spcifie quaucune vue indexe nest tendue pour permettre daccder aux tables sous-jacentes lorsque loptimiseur de requte traite la requte. Loptimiseur de requte traite la vue comme une table avec un index cluster. NOEXPAND sapplique uniquement aux vues indexes. Des contraintes sont noter. En effet, il nest possible de crer un index sur une vue que si les conditions suivantes sont rassembles : Lors de la cration de la vue, les options ANSI_NULLS et QUOTED IDENTIFIER doivent tre sur ON. Dotnet France Association CASANOVA Grgory / James RAVAILLE

16

Les vues et les index [03/07/09] ANSI_NULL doit tre ON lors de la cration de toutes les tables rfrences dans la vue sur laquelle sera cr lindex. La vue ne doit pas faire rfrence dautres vues. Toutes les tables rfrences doivent appartenir la mme base et au mme propritaire. La vue doit tre cre avec loption WITH SCHEMABINDING.

Le premier index cr sur une vue doit tre de type cluster unique. Par la suite il est possible de construire des index non cluster. Pour faire un rsum rapide, les vues indexes sont pratiques et efficaces dans le cas ou une vue possde une quantit remarquable de jointures et dagrgations, et que ces donnes sont surtout en lecture sur la base. Enfin, pour une cration sans erreurs de lindex, certaines conditions doivent tre respectes.

Dotnet France Association CASANOVA Grgory / James RAVAILLE

17

Les vues et les index [03/07/09]

4 Conclusion
Dans ce chapitre, nous avons vu deux objets supplmentaires dans la base : les vues et les index. Retenez principalement quune vue est une table virtuelle qui ne stocke pas les donnes mais les requtes dextractions associes, et que les index peuvent appartenir deux catgories diffrentes, ordonns et non ordonns, et que ceux-ci servent optimiser le temps de rponse du serveur lors de lexcution de requtes. Dans le chapitre suivant, nous verrons les notions de procdures stockes et de fonctions utilisateurs, largement utilises dans SQL Server, puisquelles permettent une grande programmabilit et un gain de performance important.

Dotnet France Association CASANOVA Grgory / James RAVAILLE

S-ar putea să vă placă și