Création d'index sur tables avec 400000 rows
Bonjour,
Je voulais savoir comment optimiser les index ou comment bien les créés
voici le script de création d'une table ainsi que la création de l'index.
Pouvez vous commentez le script est dire si mon index sert a quelquechose
Merci !
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
CREATE TABLE [USER].MATABLE
(
COL1 numeric(10,0) PRIMARY KEY NOT NULL,
COL2 numeric(10,0) NOT NULL,
COL3 numeric(10,0) NULL,
COL4 numeric(10,0) NOT NULL,
COL5 numeric(10,0) NULL,
COL6 varchar(10) NOT NULL,
COL7 datetime NOT NULL,
COL8 datetime NOT NULL,
COL9 numeric(10,0) NOT NULL,
COL10 numeric(10,0) NOT NULL,
COL11 datetime NULL,
COL12 datetime NULL,
COL13 numeric(10,0) NULL
);
CREATE INDEX [MATABLE_idx1] ON [USER].[MATABLE]([COL4],[COL5]) ON [PRIMARY];
CREATE INDEX [MATABLE_idx2] ON [USER].[MATABLE]([COL4],[COL6]) ON [PRIMARY];
CREATE INDEX [MATABLE_idx3] ON [USER].[MATABLE]([COL9],[COL10]) ON [PRIMARY];
CREATE INDEX [MATABLE_idx4] ON [USER].[MATABLE]([COL9],[COL6]) ON [PRIMARY]; |
indexation & performance.
Utilise le profiler ( eventuellement le tuning advisor sous 2005 ) pour regarder les temps d'execution de tes requetes...
Si tu as des problèmes de performance et que tes requetes font de la restriction, du tri sur les colonnes COL7, COL8 alors cree un clustered index avec la cle primaire et ces colonnes.
n'oublie pas de reindexer regulierement si tu as des mises à jours.