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

Oracle Discussion :

La fonction WITH Oracle


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Janvier 2009
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 56
    Par défaut La fonction WITH Oracle
    bonjour tout le monde,

    j'ai utilisé la fonction with dans mon script oracle dans le but de l'optimiser, mais
    surprise, la requête a pris plus de temps que sans le with.
    ma question est : est ce que le with aide à optimiser ou pas??????

  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
    Parfois oui, parfois non; sinon on utiliserait que le WITH.
    Donc, quelle est votre requête est comment est-vous arrivé à la conclusion qu'avec le with «*ça prends plus de temps*» ?

  3. #3
    Membre averti
    Inscrit en
    Janvier 2009
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 56
    Par défaut
    merci pour ta réponse,

    En fait dans ma requête, j'utilise le WITH pour construire ma table sur laquelle j'opère un select, en d'autres termes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select a,b, C.Table_with from table 1, (WITH t as ( .....)) Table_with;
    et je répète cette procédure plusieurs fois dans mon script sql, et je ne sais pas si c'est bon ou pas.

    merci pour votre aide. ( la requête contient 1000 lignes)

  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
    Je ne pense pas que la syntaxe que vous fournissez fonctionne.
    Ce qui fonctionne est plutôt comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    With Data As (
      Select * 
        From emp
    )
    Select * 
      From dept 
           Join Data
      On (dept.deptno = data.deptno)

  5. #5
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    A priori la syntaxe fonctionne, mais je suis bien d'accord avec vous mnitu, ce n'est pas très élégant, un des avantages de WITH est justement de simplifier la lecture :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    select dummy as x, y
    from
        dual,
        (with toto as
        (select 'Y' as y from dual)
        select y from toto);
     
    X	Y

  6. #6
    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
    Citation Envoyé par Waldar Voir le message
    A priori la syntaxe fonctionne...
    OK, c'est noté

Discussions similaires

  1. La fonction WITH Oracle
    Par saidna123 dans le forum Oracle
    Réponses: 3
    Dernier message: 24/09/2009, 17h49
  2. équivalence fonction ROWNUM (oracle) avec MySQL
    Par pblb62 dans le forum SQL Procédural
    Réponses: 8
    Dernier message: 23/01/2006, 13h50
  3. Réponses: 2
    Dernier message: 05/12/2005, 12h16
  4. fonction équivalente à la fonction MOD (oracle) dans ms-sql
    Par rodrigue50 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 14/07/2005, 16h14
  5. Locally Managed Tablespaces with oracle 8.1.7
    Par ducho dans le forum Administration
    Réponses: 16
    Dernier message: 14/10/2004, 14h18

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