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

Sybase Discussion :

[ASE][T-SQL] Optimisation d'un update


Sujet :

Sybase

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2003
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 43
    Points : 30
    Points
    30
    Par défaut [ASE][T-SQL] Optimisation d'un update
    Bonjour,

    Je n'arrive pas à obtenir un temps de traitement correct pour cette requete.
    Elle s'effectue en 5 minutes pour 10.000 enregistrements traités, sur une table de 140.000 pour #TMP (index sur ID) et 900.000 pour CONTACTS (index sur ID_CONTACT).
    Pour traiter les 140.000, il me faudra 1 heure ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    UPDATE CONTACTS
    SET
      ADR1 = T.NORMALISE_ADRESSE_1, 
      ADR2 = T.NORMALISE_ADRESSE_2, 
      ADR3 = T.NORMALISE_ADRESSE_3, 
      ADR4 = T.NORMALISE_ADRESSE_4, 
      CP = T.NORMALISE_CODE_POSTAL, 
      VILLE = T.NORMALISE_COMMUNE, 
      DATE_MAJ = @date_trt , 
      BAD_ADR	= 'O'   
    FROM	#TMP T  
    WHERE
      CONTACTS.ID_CONTACT = T.ORIGINAL_ID_CONTACT  
      AND T.ID between @MinId and @MinIdUp
    exemple : @MinId = 1 et @MinIdUp=10000

    Merci de votre aide

  2. #2
    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
    Que donne le plan d'exécution ?

    Essayez d'indexer

    CONTACTS.ID_CONTACT
    T.ORIGINAL_ID_CONTACT
    et T.ID
    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 !

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2003
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 43
    Points : 30
    Points
    30
    Par défaut
    Plan d'exécution

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    SQL Server Message:  (sev 0, MsgNo 6248, lineNo 1)
    SQL Server Message: QUERY PLAN FOR STATEMENT 1 (at line 1). (sev 0, MsgNo 6289, lineNo 1)
    SQL Server Message:  (sev 0, MsgNo 6248, lineNo 1)
    SQL Server Message:  (sev 0, MsgNo 6248, lineNo 1)
    SQL Server Message:     STEP 1 (sev 0, MsgNo 6201, lineNo 1)
    SQL Server Message:         The type of query is UPDATE. (sev 0, MsgNo 6203, lineNo 1)
    SQL Server Message:         The update mode is deferred. (sev 0, MsgNo 6205, lineNo 1)
    SQL Server Message:  (sev 0, MsgNo 6248, lineNo 1)
    SQL Server Message:         FROM TABLE (sev 0, MsgNo 6215, lineNo 1)
    SQL Server Message:             #TMP (sev 0, MsgNo 6217, lineNo 1)
    SQL Server Message:             T (sev 0, MsgNo 6217, lineNo 1)
    SQL Server Message:         Nested iteration. (sev 0, MsgNo 6219, lineNo 1)
    SQL Server Message:         Using Clustered Index. (sev 0, MsgNo 6224, lineNo 1)
    SQL Server Message:         Index : IND_TMP (sev 0, MsgNo 6225, lineNo 1)
    SQL Server Message:         Forward scan. (sev 0, MsgNo 6276, lineNo 1)
    SQL Server Message:         Positioning by key. (sev 0, MsgNo 6281, lineNo 1)
    SQL Server Message:         Keys are: (sev 0, MsgNo 6287, lineNo 1)
    SQL Server Message:             ID  ASC (sev 0, MsgNo 6288, lineNo 1)
    SQL Server Message:         Using I/O Size 16 Kbytes for data pages. (sev 0, MsgNo 10240, lineNo 1)
    SQL Server Message:         With LRU Buffer Replacement Strategy for data pages. (sev 0, MsgNo 10239, lineNo 1)
    SQL Server Message:  (sev 0, MsgNo 6248, lineNo 1)
    SQL Server Message:         FROM TABLE (sev 0, MsgNo 6215, lineNo 1)
    SQL Server Message:             CONTACTS (sev 0, MsgNo 6217, lineNo 1)
    SQL Server Message:         EXISTS TABLE : nested iteration. (sev 0, MsgNo 6220, lineNo 1)
    SQL Server Message:         Using Clustered Index. (sev 0, MsgNo 6224, lineNo 1)
    SQL Server Message:         Index : I_PK_CON_ID (sev 0, MsgNo 6225, lineNo 1)
    SQL Server Message:         Forward scan. (sev 0, MsgNo 6276, lineNo 1)
    SQL Server Message:         Positioning by key. (sev 0, MsgNo 6281, lineNo 1)
    SQL Server Message:         Keys are: (sev 0, MsgNo 6287, lineNo 1)
    SQL Server Message:             ID_CONTACT  ASC (sev 0, MsgNo 6288, lineNo 1)
    SQL Server Message:         Using I/O Size 2 Kbytes for data pages. (sev 0, MsgNo 10240, lineNo 1)

Discussions similaires

  1. Comment optimiser une requete Update SQL ?
    Par Battosaiii dans le forum SQL
    Réponses: 3
    Dernier message: 20/07/2011, 13h51
  2. [Requête SQL] Optimisation de plusieurs UPDATE SET FROM
    Par dens19 dans le forum Développement
    Réponses: 6
    Dernier message: 13/03/2009, 16h51
  3. [ASE][T-SQL] Update récursif ?
    Par metheorn dans le forum Sybase
    Réponses: 4
    Dernier message: 13/03/2006, 16h36
  4. [SQL] aide pour requete UPDATE SVP
    Par ganok dans le forum Langage SQL
    Réponses: 9
    Dernier message: 10/03/2005, 09h17
  5. [PL/SQL] Optimisation requete SQL
    Par CDRIK dans le forum Langage SQL
    Réponses: 3
    Dernier message: 14/10/2004, 09h52

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