|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |||||||||
|
Membre actif
![]() |
Bonjour,
Je suis dans une impasse concernant ma gestion de données sur SQL SERVER 2005. Je tente d'extraire à l'aide d'une requête des jeux de données sur une table qui contient environ 3 millions de lignes. Le but de cette opération est de générer des résultats au niveau du SGBD pour éviter toute surcharge logiciel tant les traitements sont long. Pour cela, je part d'une table LAB_ANALYSE contenant toutes les données en lignes avec comme clé primaire un CODE_ANALYSE et un CODE_FICHE plus des colonnes MARQUEURS, VALEURS et LOT. La requête doit permettre de faire des comparaisons lignes à lignes sur cette table, c'est-à-dire, que je veux comparer chaque CODE_FICHE - LOT entre eux une seule fois et en ne prenant en compte que les MARQUEURS communs. De plus, je dois récupérer au moins une infos. par jointure sur une autre table. Voici la structure de ma table LAB_ANALYSE : Code :
Citation:
Code :
Code :
Code :
Je souhaiterai votre aide car je n'utilise peut-être pas les bonnes méthodes. Cordialement PS : J'ai oublié de spécifier qu'il existe un index sur la table LAB_ANALYSE contenant CODE_FICHE - MARQUEUR - LOT.
__________________
while (true) echo 'comique'; Du comique de répétition ... Pour des questions de lisibilité, utilisez la balise [code] Si votre problème est résolu, n'oubliez pas le tag
|
|||||||||
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 935 ![]() |
Erreur : pourquoi une PK avec IDENTITY + une autre colonne ? Cela ne sert à rien qu'a pénaliser les performances.
Postez la requête que vous devez faire afin que l'on puisse optimiser votre table. A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
|
00
|
|
|
#3 |
|
Membre actif
![]() |
Bonjour,
Pardon, erreur de ma part, double-post : mon premier POST étant en cours de rédaction, j'ai mis à jour celui-ci avec la requete et les informations complémentaires. Cordialement
__________________
while (true) echo 'comique'; Du comique de répétition ... Pour des questions de lisibilité, utilisez la balise [code] Si votre problème est résolu, n'oubliez pas le tag
|
|
|
00
|
|
|
#4 | ||||
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 935 ![]() |
Plusieurs horreurs :
Pourquoi un SELECT * ? Toutes les colonne sont-elles utilisée dans la sous requête avec T1 et T2 ??? Le LIKE '%.%' oblige à parcourir toutes les lignes et tous les caractères un a un des colonnes VALEUR, d'où l'explosion combinatoire.... Avez vous respecté la première forme norme dans votre MCD, qui veut que toutes les données soient atomique ? Visiblement non !!! Donc, commencez par modéliser correctement en rendant vos données atomiques Pourquoi des informations redondantes ? Code :
Pourquoi tant de parenthèses dans le FROM ? Vous aviez un stock de parenthèses à placer ???? Code :
Pourquoi une virgule à la dernière ligne de la clause SELECT ? Code :
CASE WHEN T2.VALEUR = T1.VALEUR THEN 1 ELSE 0 END AS DIFFERENT_CM, Votre numérotation est bizarre : Code :
ROW_NUMBER() OVER(PARTITION BY CODE_FICHE, LOT ORDER BY CODE_FICHE, MARQUEUR, LOT) En effet soit vous mettez CODE_FICHE et LOT dans le PARTITION, soit dans le ORDER BY, mais pas dans les 2 !!! ENFIN... Quels sont les index ? En particulier, y a t-il un index sur : 1) (CODE_FICHE, LOT) dans LAB_ANALYSE_3 (éventuellement INCLUDE (CODE_FICHE, MARQUEUR, LOT)) 2) (TYPE_STOCK, CODE_EXP) dans STOCK ? 3) (CODE_FICHE, CODE_EXP) dans LAB_FICHE ... A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
||||
|
00
|
Copyright © 2000-2012 - www.developpez.com