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

Développement de jobs Discussion :

tOracleInput : Option Use Cursor


Sujet :

Développement de jobs

  1. #1
    Membre éprouvé
    Homme Profil pro
    Architecte Décisionnel
    Inscrit en
    Février 2008
    Messages
    866
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte Décisionnel

    Informations forums :
    Inscription : Février 2008
    Messages : 866
    Points : 1 260
    Points
    1 260
    Par défaut tOracleInput : Option Use Cursor
    Bonjour,

    Une petite interrogation qui m'est venue alors que je testais les performances d'un tOracleInput selon son paramétrage :

    D'après ce que j'ai compris, l'option 'Use Cursor' permet de positionner la valeur du fetchsize lors de la récupération des donnée venant d'un select. Elle améliore fortement les perfs de récupération des données lorsque le traitement talend accède à une base de données distante.

    C'est l'équivalent de l'option 'Use Batch Size' pour les tOracleOutput.

    Or, l'option Use Batch Size est cochée par défaut, alors que ce n'est pas le cas pour l'option 'Use Cursor'.

    Est-ce que quelqu'un aurait une idée sur la raison de cette différence ?
    Est-ce qu'il y aurait un inconvénient à l'utilisation du 'Use Cursor' ?

    D'avance merci pour vos avis,
    Nicolas

  2. #2
    Futur Membre du Club
    Inscrit en
    Février 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    La réponse à cette question m'intéresse également fortement.
    Merci.

  3. #3
    Membre actif
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Novembre 2013
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 142
    Points : 295
    Points
    295
    Par défaut defaultRowPrefetch
    Hello,

    Je n'ai pas de réponse certaine par manque de tests mais j'ouvre une piste...

    L'option "Use Cursor" améliore les performances en paramétrant la méthode setFetchSize de l'objet java Statement.

    setFetchSize(int rows)
    Gives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed for ResultSet objects genrated by this Statement.
    Ceci est vrai si le paramètre defaultRowPrefetch de la connexion JDBC est correctement paramétré (par défaut 10)

    N'hésitez pas à mettre vos retours/benchmark sur ce port
    Images attachées Images attachées  

  4. #4
    Membre actif
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Novembre 2013
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 142
    Points : 295
    Points
    295
    Par défaut
    ... valable pour oracle

    Mais attention à ne pas trop l'augmenter dans le cas de champs très longs, exemple avec un VARCHAR(4000) dans ce document

    Un cas extrême

    si defaultRowPrefetch=1000
    votre requête remonte 255 colonnes de 4000 caractères (8ko par colonne)
    -> donc 2MO par ligne remontée

    La mémoire nécessaire sera de 2 gigas -> 1000 * 255 * 8ko

Discussions similaires

  1. wsdl2java ne gere pas use="optional" pour un attribut ?
    Par somnix dans le forum Services Web
    Réponses: 1
    Dernier message: 03/12/2009, 21h44
  2. To use a cursor or not ? Quel est votre avis ?
    Par cavo789 dans le forum Développement
    Réponses: 6
    Dernier message: 22/01/2009, 12h07
  3. erreur : The system is out of memory. Use server side cursors
    Par kergoussel dans le forum ODI (ex-Sunopsis)
    Réponses: 1
    Dernier message: 06/12/2007, 12h10
  4. OPtions de compilation - Switch sur un 'using'
    Par gouliath dans le forum C#
    Réponses: 2
    Dernier message: 13/04/2007, 16h16

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