|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
Sujet : Probleme de rapidité sur les dates [ Oracle / Requêtes ] (metalcoder)
Informations & options pour cette discussion
mercredi 23 août 2006 à 11:47:00 |
Probleme de rapidité sur les dates

metalcoder
|
Salut tous le monde Je suis entrain de faire un logiciel pour ma boite avec des requetes oracle. Hors sur le nombre de requete certaines sont tres longues des que les dates sont rapprochés mais egalement instantanés si les dates sont eloignés hors ce n'est pas tres logique puisque la requete ramene plus d'enregistrement. Bien sur je pourrais mettre des dates eloignées et faire mon tri en vb pour ne ressortir que celle de la semaine mais je prefere que cela soit oracle qui le fasse. voici ma requete si qqun a une idée --Recuperation OF Rebut SELECT DISTINCT wmt.CREATION_DATE , wmt.WIP_ENTITY_NAME AS NumOF,msib.SEGMENT1 AS Article,wmt .TRANSACTION_QUANTITY AS Qte,wmt.FM_OPERATION_SEQ_NUM AS NumOP,wmt.REFERENCE AS NumTNC,wo.DESCRIPTION AS Description,wmt.TO_INTRAOPERATION_STEP_TYPEFROM apps.wip_move_Transactions_v wmt,apps.mtl_system_items_b msib,apps.wip_operations woWHERE msib.ORGANIZATION_ID =147AND wo.ORGANIZATION_ID=msib.ORGANIZATION_IDAND wmt.ORGANIZATION_ID=msib.ORGANIZATION_IDAND msib.SEGMENT1 IN('3011001','3011002','3011003','3011004','3011005','3011006','3011007','3011008','3011009','3011010','3011012','3011013','3011014','3011015','3011016','3011017','3011018','3011019','3011020','3011021','3011022','3011023','3011024','3011025','3011026','3011027','3011028','3011031')AND wmt.WIP_ENTITY_ID=wo.WIP_ENTITY_IDAND wo.OPERATION_SEQ_NUM=wmt.TO_OPERATION_SEQ_NUMAND wmt.TO_INTRAOPERATION_STEP_TYPE='5'AND wmt.CREATION_DATE BETWEEN'21/08/2006'AND'23/08/2006'AND wmt.PRIMARY_ITEM_ID=msib.INVENTORY_ITEM_IDORDER BY wmt.creation_date DESCsi je met du 21/06/2006 je suis plus rapide que en mettant 21/08/2006 alors que je ramene 12 resultats au lieu d'un seul. merci d'avance Metalcoder
|
|
|
mercredi 23 août 2006 à 18:34:01 |
Re : Probleme de rapidité sur les dates

crilun
|
crilun,
Salut,
je bosse plutot sous SQL server mais je pense que ca doit etre le cas pour la plsu part des bases de données,
le between est plus long que 2 faire 2 comparaison , alors je ne sais pas pourquoi et ce qu'il fait exeactement derriere,
mais il vaut mieux : (wmt.CREATION_DATE >='21/08/2006' AND wmt.CREATION_DATE<='23/08/2006')
test déja comme ca voir si ca change quelquechose à ton temps d'éxecution.
ensuite autre truc c'est que ta requete peut etre optimisé déja avec
les jointures car la tu mutliplie les enregsitrements de tes tables et
filtre apres alors qu'avec les jointures,
ce qui te donnerais ca :
SELECT DISTINCT
wmt.CREATION_DATE ,
wmt.WIP_ENTITY_NAME AS NumOF,
msib.SEGMENT1 AS Article,
wmt.TRANSACTION_QUANTITY AS Qte,
wmt.FM_OPERATION_SEQ_NUM AS NumOP,
wmt.REFERENCE AS NumTNC,
wo.DESCRIPTION AS Description,
wmt.TO_INTRAOPERATION_STEP_TYPE
FROM
apps.mtl_system_items_b msib,
LEFT JOIN apps.wip_move_Transactions_v wmt ON
(wmt.ORGANIZATION_ID=msib.ORGANIZATION_ID AND
wmt.PRIMARY_ITEM_ID=msib.INVENTORY_ITEM_ID),
LEFT JOIN apps.wip_operations wo ON
(wo.ORGANIZATION_ID=msib.ORGANIZATION_ID AND
wmt.WIP_ENTITY_ID=wo.WIP_ENTITY_ID AND
wo.OPERATION_SEQ_NUM=wmt.TO_OPERATION_SEQ_NUM)
WHERE
msib.ORGANIZATION_ID =147
AND
msib.SEGMENT1
IN('3011001','3011002','3011003','3011004','3011005','3011006','3011007','3011008','3011009','3011010','3011012','3011013','3011014','3011015','3011016','3011017','3011018','3011019','3011020','3011021','3011022','3011023','3011024','3011025','3011026','3011027','3011028','3011031')
AND
wmt.TO_INTRAOPERATION_STEP_TYPE='5'
AND
(wmt.CREATION_DATE >='21/08/2006' AND wmt.CREATION_DATE<='23/08/2006')
ORDER BY
wmt.creation_date DESC
voila essaye et dis moi mais normalement tu devrais gagner pas mal de temps déja comme ca
|
|
|
jeudi 24 août 2006 à 10:25:45 |
Re : Probleme de rapidité sur les dates

metalcoder
|
Merci de ton conseil mais cela n'as rien changer.
j'ai mis des jointures a mes tables (au passage c'est un (+) qu'il faut mettre sur oracle) et j'ai egalement changer le between mais sans resultat. Peut etre un peu plus rapide mais pas satisfaisant.
Donc je n'ai mis aucune restriction en date et c'est en VB que j'affiche juste la semaine qui m'interresse.
merci
@+
Metalcoder
|
|
|
Cette discussion est classé dans : dates, msib, wip, wmt, organization
Répondre à ce message
Sujets en rapport avec ce message
Avoir les Dates entre 2 Dates [ par Creat ]
Bonjour, Est-ce qu'il y a un moyen d'avoir toutes les dates entre 2 dates. Je m'explique, j'ai une Table (tblPeriods) qui contien 2 champs (Star
Organiser des dates [ par tryoruda ]
Salut tout le mondeJ'ai fait une page php qui affiche les concerts d'un groupe de zik depuis leurs débuts. Les dates sont stockées dans un champ date
procedure pour travailler sur les DATES [ par Bowen123 ]
Bonjour,Sous SQL SERVER,J'ai une table comprenant une Ligne par demi journée (tbl_CALENDRIER) défini par une date et un indice de demijournée (0 ou 1)
requete sql access pour les dates [ par Rjoe ]
Bonjour Developpant une application pour la gestion des commandes j'ai été surpris en voyant qu'avec la requete sur ACCESS 2000SELECT COMMANDE.*FROM C
date sur mssqlserver [ par martinsupiot ]
Bonjour,Je n'arrive pas à selectionner des dates correctement avec mssqlserver. Je suis plus à l'aise avec mysql, mais cela n'a pas l'air de fonctionn
pb avec les dates [ par dallas69 ]
Bonjour à tous, J'ai un léger probleme concernant les dates ... Je m'explique : J'ai une table de la sorte (les autres attributs ne sont pas interess
Problème de dates [ par Antilope ]
Bonjour,Je dispose d'une table avec les colonnes suivantes :date_debut, date_fin,montant_facture.Une facture porte sur la période date_debut à date_fi
Jointure multi table [ par Zart ]
Bonjour,En fait je galère à fond sur une requete... Je suis sur que c'est faisable, j'ai essayé tout ce que je connais maintenant si quelqu'un peut me
Date format... [ par elpens ]
Bonjour,j'ai quelques procedures stockees qui utilisent des dates. Mon problème (si on peux appeler cela un problème), est que je ne sais pas quelle e
Les dates avec MySQL [ par ImmortalPC ]
Salut, je deviens fou avec mon calendrier J' ai une date de commencement et une date de fin respectivement : date_start et date_end Leur type : datet
Livres en rapport
|
Téléchargements
Logiciels à télécharger sur le même thème :
Comparez les prix Nouvelle version
|