bonjour
Nous rencontrons comme chaque année quelques lenteurs liées à notre forte activité estivale ,j'ai lancer trace de profiler je viens de détecter que cette requéte prend beaucoup du temps
select count (distinct id_etiquette) from mvttests where id_transaction in (1,2) and date_creation between '12/10/2015 06:00:00' and '13/10/2015 05:59:59' and Mvttests.site ='MG' and Mvttests.statutok='True'
donc afin d'optimiser j'ai penser a ajouter un index couvrant sur ma table surtout je poséde un seul index cluster qui pointe que sur le colonne id_etiquette
alors j'était devant deux choix de script de création
soit le script 1
1 2 3 4 5 6 7 8 9 10
|
CREATE NONCLUSTERED INDEX [_dta_index_Mvttests_25_638625318__K11_K6_K10_K3_K2] ON [dbo].[Mvttests]
(
[Site] ASC,
[date_Creation] ASC,
[StatutOK] ASC,
[Id_Transaction] ASC,
[id_Etiquette] ASC
)WITH (SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF) ON [PRIMARY] |
soit utilisé le scrip2
1 2 3 4 5 6 7 8
| CREATE NONCLUSTERED INDEX [_dta_index_Mvttests_25_638625318__K11_K6_K10_K3_K2] ON [dbo].[Mvttests]
(
[id_Etiquette] ASC
)INCLUDE ([Site] ASC,
[date_Creation] ASC,
[StatutOK] ASC,
[Id_Transaction] ASC)
WITH (SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF) ON [PRIMARY] |
Qui est le meuleur choix et merci pour votre réponsse
Partager