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 :

pb d'optimisation pour recuperer les n records.


Sujet :

Langage SQL

  1. #1
    Membre régulier Avatar de fdubks
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 73
    Points : 81
    Points
    81
    Par défaut pb d'optimisation pour recuperer les n records.
    Bonjour,

    Je vous donne tout d'abord ma requête:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    select * 
    from ( 
     select ID, VAL1
     from 
       TSTTABLE
     where
         VAL2 = 'ABC'
     and VAL3 = :val3
     and DATE1 < to_date(:date1, 'yyyymmddHH24MISS')
     order by  DATE1 DESC
    )
    where ROWNUM <= :maxId
    Cette requete renvois les n IDs et la valeur principal des records ayant des valeurs specifiques pour certain champs et dont la date est inférieurs à une date définis par l'utilisateur.

    Malheuresement, le nombre de record dans la base est monstrueux et la requête prend beaucoup de temps.

    Auriez-vous une idée pour optimiser cette requête.

    BDD: Oracle 10g

    Merci

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 115
    Points : 28 493
    Points
    28 493
    Par défaut
    Les colonnes sur lesquelles portent les restrictions sont elles indexées ?

  3. #3
    Membre régulier Avatar de fdubks
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 73
    Points : 81
    Points
    81
    Par défaut
    Aucune indexation sur cette table n'est autorisé pour l'heure.

  4. #4
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2005
    Messages
    1 473
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 473
    Points : 3 286
    Points
    3 286
    Par défaut
    Citation Envoyé par fdubks Voir le message
    Aucune indexation sur cette table n'est autorisé pour l'heure.
    ... alors t'es plutôt mal barré pour espérer une quelconque optimisation ...

  5. #5
    Membre régulier Avatar de fdubks
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 73
    Points : 81
    Points
    81
    Par défaut
    Si aucune optimisation n'est possible au niveau du sql, je suis tout de même preneur pour une solution avec index même si je ne crois pas pouvoir la mettre en oeuvre.

    A votre avis si un index etait créé sur la date, cela pourrait avoir des répercutions vraiment significative sur l'optimisation ?

    Une précision à apporter, deux enregistrements peuvent avoir les champs de recherches rigoureusement identique, il me parrait donc impossible dans ce cas de faire un index que sur ces champs, et l'ajout du champ "clé primaire" risque de pas apporter les avantages escomptés. Cela risque notament de perturber l'insertion d'enregistrement identique, non ?

Discussions similaires

  1. Requete pour recuperer les cles primaires
    Par trinityb dans le forum SQL
    Réponses: 8
    Dernier message: 15/11/2007, 15h04
  2. Pb d'efficacité pour récuperer les n records
    Par fdubks dans le forum Oracle
    Réponses: 1
    Dernier message: 19/10/2007, 17h09
  3. Réponses: 2
    Dernier message: 08/08/2007, 09h57
  4. tronquer l'URL pour recuperer les parametres
    Par crocodingo dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 21/06/2007, 11h17
  5. Besoin d'aide pour recuperer les fichier d'un projet
    Par barthelv dans le forum Applications et environnements graphiques
    Réponses: 9
    Dernier message: 14/04/2006, 12h47

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