IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

rapidité: que choisir entre la boucle et les requêtes?


Sujet :

VB.NET

  1. #1
    Membre actif Avatar de schwarzy2
    Femme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2006
    Messages
    464
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 464
    Points : 288
    Points
    288
    Par défaut rapidité: que choisir entre la boucle et les requêtes?
    Bonjour à tous, j'ai une question générale à poser: j'ai une table sur laquelle je dois effectuer des statistiques le nombre d'enregistrements ou le champ1="e" , puis où le champ2="5", etc.
    J'ai donc le choix entre 2 possibilités: faire une requête SQL pour chaque statistique (=> 15 requêtes),
    ou faire une boucle sur tous les enregistrements de ma table (8700 enregistrements), récupérer la valeur de chaque champ et ajouter la valeur ensuite à chaque statistique correspondante.
    Personnellement j'aurais opté sans hésiter pour la 1ère solution, qui me semble de loin la meilleure( la plus claire et le plus rapide), mais un collègue semble avoir des doutes sur la rapidité de cette première solution: aussi viens-je demander leur avis aux professionnels:
    selon vous quelle est la solution la plus rapide?

    merci d'avance pour vos réponses
    Feel good, feel geek

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    45
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 45
    Points : 49
    Points
    49
    Par défaut
    Bonjour,

    A première vu je dirai la premiere solution aussi, apres ca va beaucoup dépendre de la table et du nombre de champs

    Avec les info que tu donne, 15 champs et 8700 lignes.

    a mon avis 15 requetes bien pensé seront plus rapide qu'un simple SELECT *.

    Par contre il faut que tes requetes fasse le travail, exemple

    SELECT COUNT(`champ_primaire`) FROM `table` WHERE `champ2`=2;

    par exemple, ne recupere pas simplement le champ2 avec un select pour le tester apres, sinon en effet autant tout tester d'un coup (solution 2)

    Mais SQL te permet ce que tu demande
    // WHERE `champ1` LIKE '%e%';



    Et pense bien tes index ca aidera tes requetes

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 90
    Points : 77
    Points
    77
    Par défaut Plus d'infos
    Il faudrait plus d'informations sur ton problème. En effet, celà dépend de plusieurs choses en fait :
    1. Le type / nombre des champs
    2. Les index posés sur ces champs
    3. Le SGBDR utilisé


    Je n'ai pas exactement tout compris donc je ne m'avancerai pas plus...
    Donne plus d'informations et de précisions si c'est possible.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 10
    Points : 10
    Points
    10
    Par défaut
    bonjour,

    si la base est sur le réseau, j'opterai plutôt pour la boucle.
    et si le nombre de données doit augmenter avec le temps est un aspect à ne pas négliger.
    personnellement je récupère les tables dont j'ai besoin à l'ouverture de mon formulaire et je cherche mes infos avec des boucles. En cas de recherche avec plusieurs critères, il n'y a pas photos, la boucle est plus rapide.
    débit réseau contre vitesse du coprocesseur...

Discussions similaires

  1. [Cookies] Que choisir entre session et cookie
    Par black is beautiful dans le forum Langage
    Réponses: 10
    Dernier message: 08/06/2008, 18h27
  2. Que choisir entre Sous domaine et repertoire
    Par badrel dans le forum Référencement
    Réponses: 2
    Dernier message: 31/03/2008, 23h05
  3. Réponses: 3
    Dernier message: 13/03/2008, 15h41
  4. Réponses: 4
    Dernier message: 20/10/2007, 22h36
  5. Que choisir entre l'objet COM et le Spreadsheet
    Par Ivan Isaak dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 31/07/2006, 08h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo