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

Langage SQL Discussion :

Quelle est la requête la plus performante ?


Sujet :

Langage SQL

  1. #1
    Membre actif
    Homme Profil pro
    développeur
    Inscrit en
    Octobre 2004
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : développeur
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2004
    Messages : 479
    Points : 281
    Points
    281
    Par défaut Quelle est la requête la plus performante ?
    Voilà ma requête initiale :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SELECT ID, Nom
    FROM T1
    WHERE T1.A = 1
    AND T1.B = 2
    UNION
    SELECT ID, Nom
    FROM T2
    WHERE T2.A = 1
    AND T2.B = 2
    Et une requête à laquelle je pense :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    SELECT ID, Nom
    FROM (
         SELECT ID, Nom, A, B
         FROM T1
         UNION
         SELECT ID, Nom
         FROM T2) AS TMP
    WHERE TMP.A = 1
    AND TMP.B = 2
    Laquelle est la plus performante ?

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 837
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 837
    Points : 52 922
    Points
    52 922
    Billets dans le blog
    5
    Par défaut
    Il n'y a aucun moyen de le savoir à première vue.
    Il faut regarder le plan d'exécution, la consommation en IO, CPU...

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Membre actif
    Homme Profil pro
    développeur
    Inscrit en
    Octobre 2004
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : développeur
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2004
    Messages : 479
    Points : 281
    Points
    281
    Par défaut
    Je suppose que s'il y a peu de données, il n'y a pas de différences.
    Et dans ce cas, c'est les critères de clarté de lecture de la requête qui primeront (quand on en arrive à ce niveau, ça veut dire que la requête est parfaite, non ???? )

    Par contre, dès qu'on a plusieurs milliers ou millions de données, il peut y avoir une différence.

    Quels sont les outils qui permettent de mesurer le plan d'exécution, la consommation en IO, CPU... ?

    Précision : ma bdd est MySQL

Discussions similaires

  1. quelle est la distribution la plus performante
    Par imad24 dans le forum RedHat / CentOS / Fedora
    Réponses: 7
    Dernier message: 10/09/2009, 23h13
  2. Réponses: 1
    Dernier message: 04/04/2007, 16h17
  3. Savoir quelle sont les requêtes les plus utilisées ?
    Par tchoumak dans le forum Requêtes
    Réponses: 1
    Dernier message: 29/06/2006, 16h45
  4. Réponses: 16
    Dernier message: 19/05/2005, 16h20
  5. [FB1.5]Quelle est la requete la plus rapide ?
    Par Sitting Bull dans le forum SQL
    Réponses: 4
    Dernier message: 10/12/2004, 13h46

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