Bonsoir,
Tout d'abord, je tiens à préciser que je suis nouveau ici et que je ne connais pas les coutumes. Je tiens à m'excuser par avance si j'en ai oubliées ou ommises. Par ailleurs, je tiens aussi à préciser que j'ai effectué une recherche sur le forum pour trouver une réponse à ma question.
Alors voilà : je crois que j'ai un gros souci d'accès à mes données : je dois récupérer les joueurs français (de football) évoluant en premier league (championnat d'angleterre) en 2007. Ma base est telle que d'un coté je dois sélectionner les joueurs français, et trouver leurs équipes respectives (1700 champs), et de l'autre je trouve les équipes du championnat anglais (20 champs).
Le souci intervient quand je fais le croisement des 2. je dois parcourir, pour les 1700 équipes des joueurs (par leur id), les 20 équipes de la compétition et si il y a un résultat (une table CompEquipe prend une Competition et une équipe par leurs id respectifs...) retourner "oui" tout simplement.
Voilà mon soucis, il concerne le temps d'exécution de la requete : si je remplace l'id des 1700 équipes trouvé par la requete, par un id bidon en dur, mon exécution dure 40 sec (évidemment la requete est qd mm executée :p). Si je mets, dans le MEME code, l'id généré, elle dure 2mn...
Ma réflexion est lancée sur le fait que pour accéder au 1600ème id, je dois parcourir les 1599 d'avants avant de trouver le bon, et ce à chaque fois...
Donc je voudrais supprimer, après lecture de l'id, l'élément du résultat de ma requete. Sauf que je n'arrive pas à le faire (instruction delete ?? ne marche pas...)
Mon code ressemble à :
'ces lignes sont de mémoire : le code est au boulot et je n'y suis pas là... désolé.
en gros ma boucle ressemble à cela, et je voudrais donc supprimer du RESULTAT de ma requete la premiere ligne apres lecture de celle ci, pour pouvoir accélérer mes performances en accès.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 SQL = "select idEquipe from ....." Set RSCompetition = Server.CreateObject("ADODB.Connection") RSCompetition.LockType=3 RSCompetition.Open do until RSCompetition.eof idTrouve=RSCompetition(0) ... (RSCompetition.delete ???) RSCompetition.movenext loop
Merci d'avance à tous ceux qui prendront au moins le temps de lire ce roman !!! Mais avec mon responsable on a regardé pdt 1h30, croyez moi je suis tétu, mais là je n'ai pas trouvé. Merci!
Alex
Partager