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

MS SQL Server Discussion :

alternatives aux curseurs sans succès


Sujet :

MS SQL Server

  1. #1
    Membre du Club
    Inscrit en
    Juin 2006
    Messages
    133
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 133
    Points : 54
    Points
    54
    Par défaut alternatives aux curseurs sans succès
    Bonjour,
    Jai une procedure qui prend un certain temps a terminer. Il y avait quelques curseurs et jai tenter de les enlever et d'utiliser cette alternative ci au lieu (Min Trick):

    Declare @au_id Varchar(20)

    Select @au_id = Min(au_id) from authors

    While @au_id IS NOT NULL

    Begin

    Select au_id, au_lname, au_fname from authors Where au_id = @au_id

    Select @au_id = min(au_id) from authors where au_id > @au_id

    End
    je pensais qu'après avoir enlever tous les curseurs que ma fonction allait s'exécutée beaucoup plus rapidement, mais ca na pas lair le cas (je sauve p-e 1 seconde, mais a peine)

    ya-t-il quelque chose que je fais de mal

    je ne placerai pas le code de ma procédure (à moins que quelquun le demande) mais pour votre information la procedure possede 3 boucle simple + 1 boucle imbriquee.

    À laide!

  2. #2
    Expert confirmé
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Points : 4 043
    Points
    4 043
    Par défaut
    Bonjour,

    As-tu un index sur la colonne au_id ?
    Rudi Bruchez
    Rudi Bruchez EIRL, solutions MS SQL Server et NoSQL
    LinkedIn - [Outil libre de diagnostic SQL Server : Sql Trismegiste]
    LIVRES : Optimiser SQL Server -
    Microsoft SQL Server 2012 Security Cookbook
    - les bases de données NoSQL

    e-learning : LinkedIn Learning - Pluralsight

  3. #3
    Membre du Club
    Inscrit en
    Juin 2006
    Messages
    133
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 133
    Points : 54
    Points
    54
    Par défaut
    Citation Envoyé par rudib
    Bonjour,

    As-tu un index sur la colonne au_id ?
    en fait, le code ci dessus nest pas exactement mon code (mais cest le template que jai imitté)

    toutes les table que jutilise ont un champ "ID" integer identity (1,1)

    voici le mien:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    set @loopid = (select Min(ID) from #TagTable)
     
    While @loopid IS NOT NULL
     
    Begin
               set @Tag = (select TagIndex from #TagTable WHERE id = @loopid  )
     
               *action à faire avec @Tag ici*
     
                set @loopid = (SELECT min(ID) from #TagTable where ID > @loopid)
     
    End

  4. #4
    Expert confirmé
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Points : 4 043
    Points
    4 043
    Par défaut
    Oui d'accord, et... as-tu un index sur ces colonnes ?
    Rudi Bruchez
    Rudi Bruchez EIRL, solutions MS SQL Server et NoSQL
    LinkedIn - [Outil libre de diagnostic SQL Server : Sql Trismegiste]
    LIVRES : Optimiser SQL Server -
    Microsoft SQL Server 2012 Security Cookbook
    - les bases de données NoSQL

    e-learning : LinkedIn Learning - Pluralsight

  5. #5
    Membre du Club
    Inscrit en
    Juin 2006
    Messages
    133
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 133
    Points : 54
    Points
    54
    Par défaut
    Citation Envoyé par rudib
    Oui d'accord, et... as-tu un index sur ces colonnes ?
    non je ne crois pas....je ne comprends pas l'utilité de l'index

    peux tu m'expliquer svp

  6. #6
    Nouveau membre du Club
    Inscrit en
    Juillet 2006
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 33
    Points : 36
    Points
    36

  7. #7
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 770
    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 770
    Points : 52 726
    Points
    52 726
    Billets dans le blog
    5
    Par défaut
    L'utilité d'un index est simple, prenos une comparaison. Si je t'invite chez moi et que je te dis que j'ahbite rue de Vaugirard et que je t'attend à 20h chez moi, combien de temps va tu passer pour aller sonner à toute les portes en demandant est-ce c'est bien le domicile de SQLpro... ?
    Si meintenant je te dit habiter au 133 escalier C 3eme étage prte à gauche, cela ira t-il plus vite ?

    Ce n'est pas parce que tu as mis un auto incrément qu'un index existe !

    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/ * * * * *

  8. #8
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 222
    Points : 19 551
    Points
    19 551
    Billets dans le blog
    25
    Par défaut
    Citation Envoyé par SQLpro
    L'utilité d'un index est simple, prenos une comparaison. Si je t'invite chez moi et que je te dis que j'ahbite rue de Vaugirard et que je t'attend à 20h chez moi, combien de temps va tu passer pour aller sonner à toute les portes en demandant est-ce c'est bien le domicile de SQLpro... ?
    Si meintenant je te dit habiter au 133 escalier C 3eme étage prte à gauche, cela ira t-il plus vite ?

    Ce n'est pas parce que tu as mis un auto incrément qu'un index existe !

    A +
    Cette comparaison est nulle :

    1) Tu arrives Rue de Vaugirard
    2) Tu sonnes à la première porte
    3) Il te renseigne : tout le monde connaît Frédéric, Rue Vaugirard
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

Discussions similaires

  1. Alternative aux sockets
    Par rezuss dans le forum Langage
    Réponses: 2
    Dernier message: 08/08/2006, 14h06
  2. Détection de la position du curseur SANS le paramêtre "
    Par FMaz dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 24/03/2006, 11h02
  3. alternatives aux propriétés filter sous mozilla
    Par rol666 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 29/08/2005, 19h23
  4. [Applet] alternative aux applets
    Par topaze dans le forum Applets
    Réponses: 18
    Dernier message: 09/12/2004, 16h03

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