|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Xavier BLANCHARDIngénieur qualité méthodes Inscription : septembre 2011 Messages : 8 ![]() |
Bonsoir,
J'ai dans un base (SQL Server 2008 R2) une table d'enregistrements comptant entre autres les champs suivants : - ID_Enregistrement ---> INT auto increment - DateHeure - Type_Pièces ---> INT (lien autre table) - Quantité_Pièces ---> INT - Opérateur ---> INT (lien autre table) - Qualité_Pièces ---> CHAR(1) / R=Rebut / B= Bonne / P = Retouchée Une partie des déclaration est effectuée en automatique (pièces sorties de la chaine peinture) avec une quantité pièce définie par lot et une qualité_pièces à 4. Lors de l'affectation ensuite par les opérateurs de pièces retouchées ou retouchées, j'affecte un -1 bonne et un +1 Rebut ou un +1 retouchée. Je voudrais obtenir mon taux de rebut. Pour le moment, j'ai créé 3 vues : 0 - table d'enregistrement 1 - vue pour calcul des bonnes (SUM (Quantité) et WHERE Qualité_Pièces = 'B') 2 - vue pour calcul des rebuts (SUM (Quantité) et WHERE Qualité_Pièces = 'R') 3 - calcul du taux de rebut (Vue 3 / Vue 2) Existe-t-il un moyen plus simple et plus rapide (délai de calcul = environ 5sec) ??? D'avance merci de vos réponses éclairées. @xvier |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Sylvain DevidalChef de projets Générix Inscription : février 2010 Messages : 1 062 ![]() |
Au lieu de passer par trois vues, tu peux essayer de tout faire une une seule requête.
Ceci dit, le gain devrait être marginal. La méthode me semble bonne pour le calcul, je ne vois pas comment tu pourrais faire autrement. Les index sont-ils bien utilisés ? Quelle est la volumétrie ? |
|
|
00
|
|
|
#3 | ||
![]() ![]() ![]() Nicolas SouquetAdministrateur de base de données Inscription : janvier 2005 Messages : 4 669 ![]() |
Bonjour,
Vous pouvez essayer ceci : Code :
Pouvez-vous donner : - la définition des index de la table - le plan réel d'exécution des deux requêtes (CTRL + M avant d'exécuter les deux requêtes) - les statistiques d'activité disque généré (SET STATISTICS IO avant l'exécution des requêtes; le résultat se trouvera dans l'onglet Messages) - la distribution des valeurs dans la colonne Qualité_Pièces, c'est-à-dire combien de lignes pour chaque statut - une idée de la quantité de modifications de données que la table subit par jour - si vous maintenez les index et les statistiques de la base de données @++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes. Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012 |
||
|
00
|
Copyright © 2000-2012 - www.developpez.com