Requête SQL Lente

Résolu/Fermé
Edwing - Modifié par Edwing le 13/01/2016 à 15:42
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 - 13 janv. 2016 à 16:38
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 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
13 janv. 2016 à 16:08
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
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 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650 > Edwing
13 janv. 2016 à 16:13
0
Merci il fallait bien indexer ! Maintenant la requête s’exécute en 1seconde.!
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650 > Edwing
13 janv. 2016 à 16:38
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