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

Développement SQL Server Discussion :

Choix entre deux requétes


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Femme Profil pro
    PL/SQL
    Inscrit en
    Septembre 2016
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 42
    Localisation : Arabie Saoudite

    Informations professionnelles :
    Activité : PL/SQL
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2016
    Messages : 190
    Par défaut Choix entre deux requétes
    bonjour a tous

    je cherche a voir vos avis et si quelqu'un pouvaient donner ses conseils sur une des deux requêtes suivantes
    le script du création du tables est le suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    create table test22
    (id int identity(1,1) primary key ,
    nom varchar(50),
    modele varchar(30),
    Quantité int
    )
    je cherche a récupérer la valeur maximum du quantité regrouper par nom
    Quel est parmi vous le choix le plus optimal entre ces deux propositions
    Choix 1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    select t22.nom,modele,quantité,max_qantité from test22 As t22 inner join (
    select max(quantité)as max_qantité,nom
    from test22
    group by nom) Te
    on T22.nom=Te.nom
    choix2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select nom,modele,quantité,max(quantité) over (partition by nom order by quantité desc) as max_qantité from test22
    merci pour vos conseil
    Images attachées Images attachées  

  2. #2
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Par défaut
    Bonjour,

    Intuitivement la deuxième vous offrira de meilleures performances, mais vous n'avez pas donné les index de la table. Pour comparer deux requêtes précisément, il faut :

    • Utiliser l'option de session SET STATISTICS IO, TIME ON : ceci permet de comparer la durée d'exécution, le temps CPU consommé, et les IOs générées sur chaque table
    • Le plan de requête réel
    • Tester avec un nombre décent de lignes dans la/les tables. Un million est un bon début.
    • Réaliser un test de charge, de façon à s'assurer du comportement des requêtes référençant cette table lorsque le nombre d'utilisateurs est élevé.


    Dans votre cas, les trois premiers éléments sont requis.

    @++

Discussions similaires

  1. Choix entre deux requêtes
    Par mromain dans le forum Développement
    Réponses: 5
    Dernier message: 15/07/2014, 21h20
  2. [Requête]Problèmes de nombre d'enregistrements entre deux requêtes
    Par Paul Gasser dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 23/03/2007, 12h20
  3. Addition entre deux requêtes
    Par tazmania dans le forum Langage SQL
    Réponses: 4
    Dernier message: 17/10/2006, 17h17
  4. Différence entre deux requêtes
    Par viny dans le forum Langage SQL
    Réponses: 7
    Dernier message: 03/10/2006, 16h28
  5. Choix entre deux champs dans une requete
    Par Pico10 dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 27/07/2005, 15h36

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