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 :

[Oracle9i]Meilleur choix technique pour récupérer une liste de données


Sujet :

SQL Oracle

  1. #1
    Membre Expert
    Avatar de elitost
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2003
    Messages
    1 985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 985
    Par défaut [Oracle9i]Meilleur choix technique pour récupérer une liste de données
    Bonjour,

    A partir d'un programme Java, nous souhaitons récupérer des liste de données, prenons par exemple une liste de langues obtenue par un select :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from LANGUES

    Quelle est la solution la plus rapide, et la plus maintenable ? (je propose les solutions en vrac, sans reflexion pour le moment)

    - Dans le code java, l'execution du select directement
    - Dans le code java, l'execution d'un select sur une vue des langues (pas de reflexion ici ), ce qui équivaut me semble t'il à un double select
    - Le select dans une fonction / procédure qui retournerait un resultset, ici ce serait compilé, plus rapide ? mieux d'utiliser une fonction ou une procédure ?


    Quelle solution serait la meilleure ? En avez vous d'autres ?

    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
    Et le réponse est le plus simple possible
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Select colonne1, colonne2, etc From langues
    Il n’a pas deux select quand on utilise une vue.
    Il n’y a pas "des compilé" quand on utilise une procédure PL/SQL ( ?).
    Et il faut mieux préciser votre problème.

  3. #3
    Membre Expert
    Avatar de elitost
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2003
    Messages
    1 985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 985
    Par défaut
    Citation Envoyé par mnitu Voir le message
    Et le réponse est le plus simple possible
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Select colonne1, colonne2, etc From langues
    Il n’a pas deux select quand on utilise une vue.
    Il n’y a pas "des compilé" quand on utilise une procédure PL/SQL ( ?).
    Et il faut mieux préciser votre problème.
    Bien sûr qu'il y a 2 selects en utilisant une vue, le select qui permet de construire la vue, et celui qui permet de l'interroger.

    Le plus simple n'est pas le plus rapide, c'est une partie de ma question, parmi les solutions que j'ai proposé quels sont vos avis, quelle solution est la plus rapide en terme de performance ? Quelle implémentation est la plus maintenable ?

    Ensuite, concernant les fonctions et procédures stockées , elles sont bien compilées sous oracle ? non ?

    Ensuite, je viens de relire ma question, elle me semble claire (mais je peux me tromper).

    Merci d'avance pour vos informations sur le sujet.

  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
    Par rapport a votre question il n’y pas deux select pour la vue ! Si non il y a aussi un create table et des inserts ! Si par contre vous pensez à créer la vue dynamiquement juste avant le select c’est une mauvais décision.
    Bien sur que les procédure stockées sont compilés mais pas le select lui même. Quand vous allez exécuter la procédure pour la première fois le select va être « parsé » ça veut dire « compilé » pour SQL.
    Par rapport à votre question le plus simple est le mieux (récupérer une liste des valeurs).
    Mais si vous mettez plus l’accent sur les aspects de maintenance alors encapsuler les requête SQL dans des procédures PL/SQL est considère actuellement comme une meilleur solution.
    Autrement dite le programme java devrait accéder aux données seulement via des procédures ou plutôt packages PL/SQL. Mais cella a un coût supplémentaire.

  5. #5
    Membre Expert
    Avatar de elitost
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2003
    Messages
    1 985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 985
    Par défaut
    J'attends d'autres avis sur la question initiale car je me perd un peu (pour rester correct) dans la lecture de mnitu.

  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
    Il y en aura des autres.
    Mais l’idée est que c’est plus cher d’exécuter une requête à partir du PL/SQL que du SQL.
    Concernant les vues le « Select ... from ma_table » est équivalent avec le « Select ... from ma_vue » ou ma_vue est de type « Select ... from ma_table »

Discussions similaires

  1. Avis sur 2 solutions pour récupérer une liste de valeurs
    Par bernidupont dans le forum Oracle
    Réponses: 4
    Dernier message: 31/01/2015, 17h57
  2. Réponses: 1
    Dernier message: 18/11/2012, 17h13
  3. [débutant]méthode pour récupérer une liste
    Par Msysteme dans le forum C#
    Réponses: 10
    Dernier message: 27/02/2009, 12h01
  4. le meilleur choix technique pour un pfe
    Par saadoz dans le forum Développement Web en Java
    Réponses: 6
    Dernier message: 20/02/2009, 18h36
  5. [Flux] récupérer une liste de données
    Par deubelte dans le forum C++
    Réponses: 6
    Dernier message: 28/11/2008, 18h59

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