begin process at 2012 02 12 00:50:39
  Trouver un code source :
 
dans
 
Accueil > Forum > 

SQL

 > 

Oracle

 > 

Requêtes

 > 

Probleme de rapidité sur les dates


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Probleme de rapidité sur les dates

mercredi 23 août 2006 à 11:47:00 | Probleme de rapidité sur les dates

metalcoder

Membre Club
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_TYPE

FROM

apps.wip_move_Transactions_v wmt,apps.mtl_system_items_b msib,apps.wip_operations wo

WHERE

msib.ORGANIZATION_ID =147

AND

wo.ORGANIZATION_ID=msib.ORGANIZATION_ID

AND

wmt.ORGANIZATION_ID=msib.ORGANIZATION_ID

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.WIP_ENTITY_ID=wo.WIP_ENTITY_ID

AND

wo.OPERATION_SEQ_NUM=wmt.TO_OPERATION_SEQ_NUM

AND

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_ID

ORDER

BY wmt.creation_date DESC


si 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

Membre Club
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ée 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


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,796 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales