Requête SQL Lente

Résolu/Fermé
Edwing - Modifié par Edwing le 13/01/2016 à 15:42
jordane45
Messages postés
35462
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 mai 2022
- 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

1 réponse

jordane45
Messages postés
35462
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 mai 2022
4 154
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
35462
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 mai 2022
4 154 > 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
35462
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 mai 2022
4 154 > 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