begin process at 2012 02 11 19:56:28
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive ASP & ASP.NET

 > 

Archives ASP & ASP.NET

 > 

ASP.net

 > 

optimiser une requete


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

optimiser une requete

vendredi 23 mai 2003 à 10:17:32 | optimiser une requete

bergamotte

Bonjour,

J'ai cree une page asp qui permet d'afficher tous les etudiants participant a un module, ma requete me donne la liste que je desire mais le probleme est que ma page met enormement de temps pour se charger voir ne s'affiche pas car le timeout est depasse.

J'aurais donc besoin d'aide pour optimiser ma requete.

J'ai essaye d'utiliser JOIN mais cela me met une erreur comme quoi join n'est pas accepter pqr le compilateur.

Voila ma requete attention elle est costaud

strReq = "select distinct scj.SCJ_STUC, stu.STU_NAME, sce.SCE_BLOK, sce.SCE_CRSC, sce.SCE_MOAC, sce.SCE_STAC from SIPR_SRS_SCJ scj, SIPR_INS_SMR smr, SIPR_CAM_SMO cam, SIPR_SRS_SCE sce, SIPR_INS_STU stu where stu.STU_CODE=sce.SCE_STUC and sce.SCE_SCJC=scj.SCJ_CODE and ((scj.SCJ_SPRC=cam.SPR_CODE and sce.SCE_AYRC='"&Annees&"' and cam.AYR_CODE=sce.SCE_AYRC and cam.MOD_CODE='"& Request.QueryString("cod") &"' and cam.MAV_OCCUR='"& Request.QueryString("occur") &"' and cam.PSL_CODE='"& Request.QueryString("sem")&"') or (smr.SPR_CODE=scj.SCJ_SPRC and smr.SMR_RSLT='D' and smr.AYR_CODE='"&prev_yr&"' and sce.SCE_AYRC='"&Annees&"' and smr.MOD_CODE='"& Request.QueryString("cod") &"' and smr.MAV_OCCUR='"& Request.QueryString("occur") &"' and smr.PSL_CODE='"& Request.QueryString("sem") &"' and ((sce.SCE_STAC = 'RY') or (sce.SCE_STAC = 'C') or (sce.SCE_STAC = 'D') or (sce.SCE_STAC = 'RE') or (sce.SCE_STAC = 'N')) ) or (scj.SCJ_SPRC=cam.SPR_CODE and smr.SPR_CODE=cam.SPR_CODE and sce.SCE_AYRC='"&Annees&"' and cam.AYR_CODE= '"&prev_yr&"' and smr.AYR_CODE=cam.AYR_CODE and smr.MOD_CODE='"&Request.QueryString("cod")&"' and smr.MOD_CODE=cam.MOD_CODE and smr.MAV_OCCUR='"&Request.QueryString("occur")&"' and smr.MAV_OCCUR=cam.MAV_OCCUR and smr.PSL_CODE='"&Request.QueryString("sem")&"' and smr.PSL_CODE=cam.PSL_CODE and ( (smr.SMR_PROC = 'SAS') or (smr.SMR_PROC = '') or (smr.SMR_PROC = 'LAS')or (smr.SMR_PROC = 'RAS')) and ((sce.SCE_STAC <>'P')and (sce.SCE_STAC <>'W')and(sce.SCE_STAC <>'WY')and (sce.SCE_STAC <>'T')and (sce.SCE_STAC <>'S') ))or (scj.SCJ_SPRC=smr.SPR_CODE and sce.SCE_AYRC='"&Annees&"' and smr.AYR_CODE=sce.SCE_AYRC and smr.MOD_CODE='"& Request.QueryString("cod") &"' and smr.MAV_OCCUR='"& Request.QueryString("occur") &"' and smr.PSL_CODE='"& Request.QueryString("sem")&"')) order by stu.STU_NAME "


Merci pour votre aide.

Si vous avez ne serais-ce juste une suggestions sur la maniere de m'y prendre cela m'aiderait beaucoup merci






bergamotte
vendredi 23 mai 2003 à 11:37:33 | Re : optimiser une requete

fabrice69

Administrateur CodeS-SourceS
La requette est étrange car tu répettes plusieurs fois les variables : Request.QueryString("occur") ...

Il faut passer par les innerjoin, regarde le cours ici et travaille la dessus :
- http://sqlpro.developpez.com/indexSQL.html


Romelard Fabrice (Alias F___)


-------------------------------
Réponse au message :
-------------------------------

> Bonjour,
>
> J'ai cree une page asp qui permet d'afficher tous les etudiants participant a un module, ma requete me donne la liste que je desire mais le probleme est que ma page met enormement de temps pour se charger voir ne s'affiche pas car le timeout est depasse.
>
> J'aurais donc besoin d'aide pour optimiser ma requete.
>
> J'ai essaye d'utiliser JOIN mais cela me met une erreur comme quoi join n'est pas accepter pqr le compilateur.
>
> Voila ma requete attention elle est costaud
>
> strReq = "select distinct scj.SCJ_STUC, stu.STU_NAME, sce.SCE_BLOK, sce.SCE_CRSC, sce.SCE_MOAC, sce.SCE_STAC from SIPR_SRS_SCJ scj, SIPR_INS_SMR smr, SIPR_CAM_SMO cam, SIPR_SRS_SCE sce, SIPR_INS_STU stu where stu.STU_CODE=sce.SCE_STUC and sce.SCE_SCJC=scj.SCJ_CODE and ((scj.SCJ_SPRC=cam.SPR_CODE and sce.SCE_AYRC='"&Annees&"' and cam.AYR_CODE=sce.SCE_AYRC and cam.MOD_CODE='"& Request.QueryString("cod") &"' and cam.MAV_OCCUR='"& Request.QueryString("occur") &"' and cam.PSL_CODE='"& Request.QueryString("sem")&"') or (smr.SPR_CODE=scj.SCJ_SPRC and smr.SMR_RSLT='D' and smr.AYR_CODE='"&prev_yr&"' and sce.SCE_AYRC='"&Annees&"' and smr.MOD_CODE='"& Request.QueryString("cod") &"' and smr.MAV_OCCUR='"& Request.QueryString("occur") &"' and smr.PSL_CODE='"& Request.QueryString("sem") &"' and ((sce.SCE_STAC = 'RY') or (sce.SCE_STAC = 'C') or (sce.SCE_STAC = 'D') or (sce.SCE_STAC = 'RE') or (sce.SCE_STAC = 'N')) ) or (scj.SCJ_SPRC=cam.SPR_CODE and smr.SPR_CODE=cam.SPR_CODE and sce.SCE_AYRC='"&Annees&"' and cam.AYR_CODE= '"&prev_yr&"' and smr.AYR_CODE=cam.AYR_CODE and smr.MOD_CODE='"&Request.QueryString("cod")&"' and smr.MOD_CODE=cam.MOD_CODE and smr.MAV_OCCUR='"&Request.QueryString("occur")&"' and smr.MAV_OCCUR=cam.MAV_OCCUR and smr.PSL_CODE='"&Request.QueryString("sem")&"' and smr.PSL_CODE=cam.PSL_CODE and ( (smr.SMR_PROC = 'SAS') or (smr.SMR_PROC = '') or (smr.SMR_PROC = 'LAS')or (smr.SMR_PROC = 'RAS')) and ((sce.SCE_STAC <>'P')and (sce.SCE_STAC <>'W')and(sce.SCE_STAC <>'WY')and (sce.SCE_STAC <>'T')and (sce.SCE_STAC <>'S') ))or (scj.SCJ_SPRC=smr.SPR_CODE and sce.SCE_AYRC='"&Annees&"' and smr.AYR_CODE=sce.SCE_AYRC and smr.MOD_CODE='"& Request.QueryString("cod") &"' and smr.MAV_OCCUR='"& Request.QueryString("occur") &"' and smr.PSL_CODE='"& Request.QueryString("sem")&"')) order by stu.STU_NAME "
>
>
> Merci pour votre aide.
>
> Si vous avez ne serais-ce juste une suggestions sur la maniere de m'y prendre cela m'aiderait beaucoup merci
>
>
>
>
>
>
> bergamotte
vendredi 23 mai 2003 à 12:03:32 | Re : optimiser une requete

bergamotte

Merci Fabrice

Mais j'ai toujours une question comme tu peux le voir la jointure n'est jamais la meme entre deux tables c'est pour cela que j'utilise des "or"

Est-ce qu'il serait plus pratique de faire plusieurs requetes et ensuite de les regrouper en une seule ?

exemple :

dim req1
req1="select ..."
dim req2
req2="select ..."

dim requete

requete ="select * from req1, req2 where req1.nom=req2.nom"

C'est possible de faire comme ca ?
Et si oui est-ce que ce serait plus rapide a charger bien sur en utilisant des jointures mais en plus en decoupant la requete comme dans l'ensemble ?

Merci pour ton aide, ca m'a ete d'un grand secours

bergamotte


-------------------------------
Réponse au message :
-------------------------------

> La requette est étrange car tu répettes plusieurs fois les variables : Request.QueryString("occur") ...
>
> Il faut passer par les innerjoin, regarde le cours ici et travaille la dessus :
> - http://sqlpro.developpez.com/indexSQL.html
>
>
> Romelard Fabrice (Alias F___)
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Bonjour,
> >
> > J'ai cree une page asp qui permet d'afficher tous les etudiants participant a un module, ma requete me donne la liste que je desire mais le probleme est que ma page met enormement de temps pour se charger voir ne s'affiche pas car le timeout est depasse.
> >
> > J'aurais donc besoin d'aide pour optimiser ma requete.
> >
> > J'ai essaye d'utiliser JOIN mais cela me met une erreur comme quoi join n'est pas accepter pqr le compilateur.
> >
> > Voila ma requete attention elle est costaud
> >
> > strReq = "select distinct scj.SCJ_STUC, stu.STU_NAME, sce.SCE_BLOK, sce.SCE_CRSC, sce.SCE_MOAC, sce.SCE_STAC from SIPR_SRS_SCJ scj, SIPR_INS_SMR smr, SIPR_CAM_SMO cam, SIPR_SRS_SCE sce, SIPR_INS_STU stu where stu.STU_CODE=sce.SCE_STUC and sce.SCE_SCJC=scj.SCJ_CODE and ((scj.SCJ_SPRC=cam.SPR_CODE and sce.SCE_AYRC='"&Annees&"' and cam.AYR_CODE=sce.SCE_AYRC and cam.MOD_CODE='"& Request.QueryString("cod") &"' and cam.MAV_OCCUR='"& Request.QueryString("occur") &"' and cam.PSL_CODE='"& Request.QueryString("sem")&"') or (smr.SPR_CODE=scj.SCJ_SPRC and smr.SMR_RSLT='D' and smr.AYR_CODE='"&prev_yr&"' and sce.SCE_AYRC='"&Annees&"' and smr.MOD_CODE='"& Request.QueryString("cod") &"' and smr.MAV_OCCUR='"& Request.QueryString("occur") &"' and smr.PSL_CODE='"& Request.QueryString("sem") &"' and ((sce.SCE_STAC = 'RY') or (sce.SCE_STAC = 'C') or (sce.SCE_STAC = 'D') or (sce.SCE_STAC = 'RE') or (sce.SCE_STAC = 'N')) ) or (scj.SCJ_SPRC=cam.SPR_CODE and smr.SPR_CODE=cam.SPR_CODE and sce.SCE_AYRC='"&Annees&"' and cam.AYR_CODE= '"&prev_yr&"' and smr.AYR_CODE=cam.AYR_CODE and smr.MOD_CODE='"&Request.QueryString("cod")&"' and smr.MOD_CODE=cam.MOD_CODE and smr.MAV_OCCUR='"&Request.QueryString("occur")&"' and smr.MAV_OCCUR=cam.MAV_OCCUR and smr.PSL_CODE='"&Request.QueryString("sem")&"' and smr.PSL_CODE=cam.PSL_CODE and ( (smr.SMR_PROC = 'SAS') or (smr.SMR_PROC = '') or (smr.SMR_PROC = 'LAS')or (smr.SMR_PROC = 'RAS')) and ((sce.SCE_STAC <>'P')and (sce.SCE_STAC <>'W')and(sce.SCE_STAC <>'WY')and (sce.SCE_STAC <>'T')and (sce.SCE_STAC <>'S') ))or (scj.SCJ_SPRC=smr.SPR_CODE and sce.SCE_AYRC='"&Annees&"' and smr.AYR_CODE=sce.SCE_AYRC and smr.MOD_CODE='"& Request.QueryString("cod") &"' and smr.MAV_OCCUR='"& Request.QueryString("occur") &"' and smr.PSL_CODE='"& Request.QueryString("sem")&"')) order by stu.STU_NAME "
> >
> >
> > Merci pour votre aide.
> >
> > Si vous avez ne serais-ce juste une suggestions sur la maniere de m'y prendre cela m'aiderait beaucoup merci
> >
> >
> >
> >
> >
> >
> > bergamotte
>
vendredi 23 mai 2003 à 12:05:43 | Re : optimiser une requete

bergamotte

desolee je voullais dire comme dans l'exemple qui est au dessus de la phrase.


bergamotte


-------------------------------
Réponse au message :
-------------------------------

> Merci Fabrice
>
> Mais j'ai toujours une question comme tu peux le voir la jointure n'est jamais la meme entre deux tables c'est pour cela que j'utilise des "or"
>
> Est-ce qu'il serait plus pratique de faire plusieurs requetes et ensuite de les regrouper en une seule ?
>
> exemple :
>
> dim req1
> req1="select ..."
> dim req2
> req2="select ..."
>
> dim requete
>
> requete ="select * from req1, req2 where req1.nom=req2.nom"
>
> C'est possible de faire comme ca ?
> Et si oui est-ce que ce serait plus rapide a charger bien sur en utilisant des jointures mais en plus en decoupant la requete comme dans l'ensemble ?
>
> Merci pour ton aide, ca m'a ete d'un grand secours
>
> bergamotte
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > La requette est étrange car tu répettes plusieurs fois les variables : Request.QueryString("occur") ...
> >
> > Il faut passer par les innerjoin, regarde le cours ici et travaille la dessus :
> > - http://sqlpro.developpez.com/indexSQL.html
> >
> >
> > Romelard Fabrice (Alias F___)
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > Bonjour,
> > >
> > > J'ai cree une page asp qui permet d'afficher tous les etudiants participant a un module, ma requete me donne la liste que je desire mais le probleme est que ma page met enormement de temps pour se charger voir ne s'affiche pas car le timeout est depasse.
> > >
> > > J'aurais donc besoin d'aide pour optimiser ma requete.
> > >
> > > J'ai essaye d'utiliser JOIN mais cela me met une erreur comme quoi join n'est pas accepter pqr le compilateur.
> > >
> > > Voila ma requete attention elle est costaud
> > >
> > > strReq = "select distinct scj.SCJ_STUC, stu.STU_NAME, sce.SCE_BLOK, sce.SCE_CRSC, sce.SCE_MOAC, sce.SCE_STAC from SIPR_SRS_SCJ scj, SIPR_INS_SMR smr, SIPR_CAM_SMO cam, SIPR_SRS_SCE sce, SIPR_INS_STU stu where stu.STU_CODE=sce.SCE_STUC and sce.SCE_SCJC=scj.SCJ_CODE and ((scj.SCJ_SPRC=cam.SPR_CODE and sce.SCE_AYRC='"&Annees&"' and cam.AYR_CODE=sce.SCE_AYRC and cam.MOD_CODE='"& Request.QueryString("cod") &"' and cam.MAV_OCCUR='"& Request.QueryString("occur") &"' and cam.PSL_CODE='"& Request.QueryString("sem")&"') or (smr.SPR_CODE=scj.SCJ_SPRC and smr.SMR_RSLT='D' and smr.AYR_CODE='"&prev_yr&"' and sce.SCE_AYRC='"&Annees&"' and smr.MOD_CODE='"& Request.QueryString("cod") &"' and smr.MAV_OCCUR='"& Request.QueryString("occur") &"' and smr.PSL_CODE='"& Request.QueryString("sem") &"' and ((sce.SCE_STAC = 'RY') or (sce.SCE_STAC = 'C') or (sce.SCE_STAC = 'D') or (sce.SCE_STAC = 'RE') or (sce.SCE_STAC = 'N')) ) or (scj.SCJ_SPRC=cam.SPR_CODE and smr.SPR_CODE=cam.SPR_CODE and sce.SCE_AYRC='"&Annees&"' and cam.AYR_CODE= '"&prev_yr&"' and smr.AYR_CODE=cam.AYR_CODE and smr.MOD_CODE='"&Request.QueryString("cod")&"' and smr.MOD_CODE=cam.MOD_CODE and smr.MAV_OCCUR='"&Request.QueryString("occur")&"' and smr.MAV_OCCUR=cam.MAV_OCCUR and smr.PSL_CODE='"&Request.QueryString("sem")&"' and smr.PSL_CODE=cam.PSL_CODE and ( (smr.SMR_PROC = 'SAS') or (smr.SMR_PROC = '') or (smr.SMR_PROC = 'LAS')or (smr.SMR_PROC = 'RAS')) and ((sce.SCE_STAC <>'P')and (sce.SCE_STAC <>'W')and(sce.SCE_STAC <>'WY')and (sce.SCE_STAC <>'T')and (sce.SCE_STAC <>'S') ))or (scj.SCJ_SPRC=smr.SPR_CODE and sce.SCE_AYRC='"&Annees&"' and smr.AYR_CODE=sce.SCE_AYRC and smr.MOD_CODE='"& Request.QueryString("cod") &"' and smr.MAV_OCCUR='"& Request.QueryString("occur") &"' and smr.PSL_CODE='"& Request.QueryString("sem")&"')) order by stu.STU_NAME "
> > >
> > >
> > > Merci pour votre aide.
> > >
> > > Si vous avez ne serais-ce juste une suggestions sur la maniere de m'y prendre cela m'aiderait beaucoup merci
> > >
> > >
> > >
> > >
> > >
> > >
> > > bergamotte
> >
>


Cette discussion est classée dans : code, and, sce, smr, scj


Répondre à ce message

Sujets en rapport avec ce message

AspSmartUpload [ par yoyo ] Voila, mon pb aujourd'hui est peu different:Ds une des pages que je retravaille, il y a le composantAspSmartUpload. Le code fonctionne sans pb.Le pb, pour overapps seul!!!! [ par sofa ] merci pierre pour le code source.j'en ai deja un pareil mais je m'en suis servi pour verifier le mien.en fait mon prb c'est que ton code et source et randomize [ par beb ] SELECT * FROM TableTest where Champ1 Like '" & Rech & "' and (( Code Like '" & cod & "' and OK Like '" & ok & "') or ( local Like '" & loc & "' and Base de donné. Mon code ne marche pas [ par kikim ] Salut tout le monde, j'ai un etit probléme avec ce code.Quand j'essai de l'appliquer j'ai une erreur au niveau de la ligne :Dim TabNom_ASP (RS.RecordC Base prb simple mais pas si sur .... [ par Troyan ] voici la requete qui marche pas et qui devrait me sauver la vie !!SELECT Table1.id, Table1.NomFROM Table1 INNER JOIN Table2 ON Table1.id = Table2.id_t code [ par sou ] J'ai une direction dont le nom est abrégé (DAT), et j'aimerai par exemple quand je clique sur DAT le curseur affiche direction des affaires techniques script asp pour galerie photo... [ par Saskia ] Bonour,Je suis débutante en asp (j'arrive juste à insérer les lignes de code) mais pour les modifier... je ne comprend encore rien... Dès que j'aurai script asp pour galerie photo... [ par Saskia ] Bonour,Je suis débutante en asp (j'arrive juste à insérer les lignes de code) mais pour les modifier... je ne comprend encore rien... Dès que j'aurai Code pour tester la validitée d'une carte bleu? [ par noufnouf ] Bonjour,existe t'il un code pour verifier si un numero de carte bleu est valide ou non? problème avec ligne de code trop longue en vbscript [ par Bob ] Bonjour,J'ai un problème pour envoyer les valeurs que j'envoi à un autre via une Sub (VbScript).Après un certain nombre de paramètres,le logiciel que


Nos sponsors


Sondage...

Comparez les prix

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,733 sec (4)

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