Requête SQL Lente

Résolu
Edwing -  
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,
Je suis un peu novice, j'ai créé une requête qui fonctionne mais elle est lente. Je pense qu'il y a un moyen Optimiser cela.
Voici mon code :
SELECT
[netbios],
[application],
[utilisateur],
[etat],
MAX(heureinstall) as heureinst,
convert(nchar,substring(MAX(dateinstall),4,2)) as Jours,
(CASE
WHEN convert(nchar,substring(MAX(dateinstall),1,2)) = '01' THEN 'Janvier'
WHEN convert(nchar,substring(MAX(dateinstall),1,2)) = '02' THEN 'Fevrier'
WHEN convert(nchar,substring(MAX(dateinstall),1,2)) = '03' THEN 'Mars'
WHEN convert(nchar,substring(MAX(dateinstall),1,2)) = '04' THEN 'Avril'
WHEN convert(nchar,substring(MAX(dateinstall),1,2)) = '05' THEN 'Mai'
WHEN convert(nchar,substring(MAX(dateinstall),1,2)) = '06' THEN 'Juin'
WHEN convert(nchar,substring(MAX(dateinstall),1,2)) = '07' THEN 'Juillet'
WHEN convert(nchar,substring(MAX(dateinstall),1,2)) = '08' THEN 'Aout'
WHEN convert(nchar,substring(MAX(dateinstall),1,2)) = '09' THEN 'Septembre'
WHEN convert(nchar,substring(MAX(dateinstall),1,2)) = '10' THEN 'Octobre'
WHEN convert(nchar,substring(MAX(dateinstall),1,2)) = '11' THEN 'Novembre'
WHEN convert(nchar,substring(MAX(dateinstall),1,2)) = '12' THEN 'Decembre'
END) as Mois,
convert(nchar,substring(MAX(dateinstall),1,2)) as Mois2,
convert(nchar,substring(MAX(dateinstall),7,4)) as Annee
FROM
dbo.installsequence
WHERE
utilisateur = 'ABL80068'
GROUP BY
[application],
[netbios],
[utilisateur],
[etat]
ORDER BY
[application]


Si quelqu'un veut bien m'aider

MERCI
A voir également:

1 réponse

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,

Elle est lente... c'est à dire ? Tu l'as testé directement sur le serveur ?

Ensuite... dans quel format as tu stocké tes dates ?
Et... as tu indexé tes colonnes ? ( principalement celle utilisée dans ton where)

0
Edwing
 
Bonjour,

Oui j'ai testé directement sur le Serveur.
La requête met 20 secondes... Ce qui est je pense beaucoup. Surtout que c'est pour une utilisation sur un site en PHP par la suite.

Je pense qu'effectivement c'est un problème d'indexation mais comment on fait l'indexation ?
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > Edwing
 
0
Edwing
 
Merci il fallait bien indexer ! Maintenant la requête s’exécute en 1seconde.!
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > Edwing
 
Si la question est résolue..
Merci de ne pas oublier de clôturer le sujet
(en cliquant sur le lien "Marquer comme résolu" qui se trouve sous le titre de la question)

Cordialement,
Jordane
0