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

SQL Firebird Discussion :

[FB1.5]Quelle est la requete la plus rapide ?


Sujet :

SQL Firebird

  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mai 2003
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2003
    Messages : 147
    Par défaut [FB1.5]Quelle est la requete la plus rapide ?
    Bonjour,

    Je souhaiterais juste savoir si il est plus rapide d'envoyer au serveur une grosse requete, ou bien plusieurs petites requetes (ce sont des requetes de supression).

  2. #2
    Membre Expert
    Avatar de Barbibulle
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 052
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 052
    Par défaut
    En terme de reseau moins il y a de trafic plus c'est rapide.
    En terme de base de données, pour un même travail moins il y a d'ordres et donc de demandes de preparation/execution plus c'est rapide.

    Donc à choisir entre un ordre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    delete from Matable where ID<10000
    Et 10 000 odres du type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    delete from Matable where ID=1;
    delete from Matable where ID=2;
    ...
    delete from Matable where ID=9999;
    delete from Matable where ID=10000;
    La première solution est bien plus performante et rapide.

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mai 2003
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2003
    Messages : 147
    Par défaut
    Ma requete serait plutot du type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    DELETE FROM MA TABLE
    WHERE (COLONNE1 = (SELECT CODE FROM MATABLE1 WHERE ...) AND COLONNE2 = 'BC200')
       OR (COLONNE1 = 'AF300' AND COLONNE2 = 'BF600')
       OR etc...
    sachant que que la clause OR je peux en avoir un nombre important.

  4. #4
    Membre éclairé

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    379
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 379
    Par défaut delete
    si il y a vraiment beaucoup de "or", le plus sage et de créer une table qui contient les clés des enregistrements à supprimer, une jointure et hop c'est dans la boîte.

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mai 2003
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2003
    Messages : 147
    Par défaut
    Tres bien la solution.
    Merci. @+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Quelle est la multiplication la plus rapide? décimal ou binaire
    Par medkarim dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 13/10/2008, 23h27
  2. PGCD: quelle est la méthode la plus rapide
    Par progfou dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 05/03/2008, 18h26
  3. Quelle est la requête la plus performante ?
    Par senacle dans le forum Langage SQL
    Réponses: 2
    Dernier message: 28/09/2007, 13h59
  4. Réponses: 1
    Dernier message: 04/04/2007, 16h17
  5. Réponses: 16
    Dernier message: 19/05/2005, 16h20

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