Bonjour,
Je dois actuellement récupérer des données en fonction de champs représentant des dates (pas au format date).
J'ai en fait une colonne Annee, et une colonne Semaine (52 valeurs possibles). Elles ne sont pas au format date car les semaines stockées (de 1 à 52) de correspondent pas aux semaines calendaires.
Le problème est que je dois faire la récupération sur la durée de cette manière :
Traitement peut être une somme ou une moyenne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 SELECT annee, semaine, "traitement" FROM maTable WHERE annee = 2010 AND semaine BETWEEN 40 AND 52 GROUP BY annee, semaine SELECT annee, semaine, "traitement" FROM maTable WHERE annee = 2011 AND semaine BETWEEN 1 AND 52 GROUP BY annee, semaine SELECT annee, semaine, "traitement" FROM maTable WHERE annee = 2012 AND semaine BETWEEN 1 AND 10 GROUP BY annee, semaine
Ceci étant fait sur une table contenant plusieurs centaines de milliers d'enregistrement, et devant être répété plusieurs dizaines de fois, ce traitement peut-être un peu lourd.
Mes questions sont : Y a t-il un moyen de synthétiser ces requêtes dont le choix des semaines diffère en fonction de l'année?
J'avais pensé à mettre en place un partitionnement par année, peut-être même un sous partitionnement par semaine (à voir avec mon responsable si les autres requêtes sont également en fonction de ces données). Serait-ce vraiment efficace?
Y a t-il un autre moyen d’améliorer la récupération de ces données?
Merci d'avance pour vos idées![]()
Partager