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

SQL Oracle Discussion :

Bitmap Conversion From/To Rowids


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Février 2012
    Messages : 14
    Par défaut Bitmap Conversion From/To Rowids
    Bonjour à tous,

    je suis actuellement en stage et tente d'optimiser des requêtes SQL (qui ne le sont pas du tout ^^). J'ai donc créer des indexs et je suis tombé dans mon EXPLAIN PLAN sur des "Bitmap Conversion From/To Rowids".

    J'ai déjà fait quelque(s) recherche(s) et certaines personnes conseillent ce hint " /*+ OPT_PARAM('_b_tree_bitmap_plans' 'false') */ " afin d'empêcher cette conversion.

    J'ai ensuite fait des tests avec et sans ce hint pour arriver à ce résultat : cost + important mais résultat + rapide en secondes (AVEC) ET cost - important mais résultat + lent en secondes (SANS).

    Que pouvez-vous me conseiller ?

    Merci d'avance..

  2. #2
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    Vous devez optimiser les requêtes qui posent des problèmes et non pas celles qui exécutent une opération données.
    Vous devez avoir une cible bien précisée pour décider quand la requête est optimale sinon vous garderez ce boulot jusqu’à la retraite.
    Vous devez éviter les astuces SQL (hints) dans la solution retenue. Par contre vous pouvez les utiliser librement pendant votre analyse et recherche d’une solution optimale.
    Vous devez plutôt optimiser des traitements que des requêtes.

  3. #3
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Février 2012
    Messages : 14
    Par défaut
    Toutes les requêtes posent problèmes dans le sens où ça a été fait en vitesse et rien n'a été pensé/fait dans un but d'optimisation..

    L'objectif est d'obtenir l'information le plus rapidement possible, actuellement il fait attendre parfois plus de 25 minutes par requêtes..

    Qu'entendez-vous par optimiser des traitements plutôt que des requêtes ?

  4. #4
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    Sauf exception notable les requêtes que vous exécutez sont encapsulées ou générées par des traitements, batch ou interactives : la recherche d’un tiers, le payement d’une facture, l’embauche d’un salarié, etc.

    Assez souvent ces traitements balancent plus d’une requête sur le serveur. Donc vous devez regarder pas seulement les requêtes individuelles mais aussi la fonctionnalité quelles desservent dans son ensemble.

    L’optimisation dont le but est le plus rapidement possible n’a pas de fin ! Moins d’un seconde par exemple, est une cible qui est mesurable et donc réalisable.

Discussions similaires

  1. Réponses: 7
    Dernier message: 16/02/2008, 07h30
  2. Réponses: 1
    Dernier message: 04/10/2006, 09h01
  3. error: invalid conversion from `const wxChar*' to `CHAR*'
    Par barbarello dans le forum wxWidgets
    Réponses: 16
    Dernier message: 31/01/2006, 11h28
  4. Réponses: 2
    Dernier message: 24/12/2005, 11h37
  5. Réponses: 3
    Dernier message: 12/04/2005, 15h56

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