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

JDBC Java Discussion :

Différence entre PreparedStatement et Statement?


Sujet :

JDBC Java

  1. #1
    Membre éclairé Avatar de adil_vpb
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2006
    Messages
    326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 326
    Par défaut Différence entre PreparedStatement et Statement?
    bonjour,
    je voudrais savoir la différence entre un PreparedStatement et Statement !

    dans mon code JAVE, j'utilise que des Statement, mais avec des paramétres d'entrée : exemple :

    select * from table where champ1= param1 and champ2= param2.

    ainsi que j'ai quelques requêtes qui ont plus qu'un paramétres d'entrée ( 3 à 6 param),

    et si j'utilisera PreparedStatement ça pourra exécuter mes requêtes trés vite ?

    Merci d'avance pour votre réponse.

  2. #2
    Membre éclairé Avatar de adil_vpb
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2006
    Messages
    326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 326
    Par défaut
    Re-bonjour,
    aucune réponse ?

    c'est juste je veux savoir si les preparedStatement vont ajoutés plus de rapidité à l'application web que je viens de la développée ! (Jsp+Oracle) !

    alors ?

  3. #3
    in
    in est déconnecté
    Membre Expert Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Par défaut
    Le preparedStatement est une requête paramétrée (ou pré-compilée). En gros si tu ne la lances qu'une fois, niveau perf tu ne verras pas grande différence. Par contre si tu la lances 1000 fois ...

    Deuxième chose, le preparedStatement gère lui même les caractères spéciaux dans les paramètres de type String, c'est donc un avantage certain ... il est très conseillé de l'utiliser dès lors que tu ne maitrises pas les paramètres de ta requête ... [EDIT] ce qui est généralement le cas dans les applis web (cf SQL Injection)

  4. #4
    Membre éclairé Avatar de adil_vpb
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2006
    Messages
    326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 326
    Par défaut
    Merci pour ta réponse !
    donc il y a un avantage de plus pour les preparedStatement !
    Rapidité d'exécution c'est ça ? oui j'utilise beaucoup la même requête plusieurs fois !

    En faite, j'ai travaillé avec l'objet CallableStatement pour appeler des procédures stockées.

    ainsi le type Statement, donc merci de me confirmer ta réponse concernant la rapidité de l'exécution, et si vous avez un exemple concret, car c'est ça ce qui m'interesse !

    Mérci d'avance

  5. #5
    in
    in est déconnecté
    Membre Expert Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Par défaut
    Ben c'est pas vraiment la rapidité d'exécution. C'est que comme ta requête est pré-compilée, la base de données n'a pas besoin de recalculer son plan d'exécution à chaque fois. donc c'est à ce niveau que ça va plus vite, disons qu'il y a une étape de moins pour exécuter la requête ...

    Tout a déjà été dit dans mon premier post. Si tu réutilises tes requêtes et que tu ne maitrise pas les paramètres, utilises des preparedStatement, c'est fait exprès pour ça.

    Par contre si tu utilises des procédures stockées, ben là c'est des callableStatement, tu n'a pas le choix. Mais n'oublies pas de traiter tes paramètres avant de les envoyer à ta procédure stockée.

  6. #6
    Membre éclairé Avatar de adil_vpb
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2006
    Messages
    326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 326
    Par défaut
    Merci pour votre aide .
    Je vais essayer de travailler avec les prepardStatement !
    Merci encore !

  7. #7
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 2
    Par défaut
    bonjour j'aimerai avoir une reponse a le question suivante: que dit la nomenclature des classes de flux en java

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Différence entre un "bidouilleur" et un Pro ?
    Par christ_mallet dans le forum Débats sur le développement - Le Best Of
    Réponses: 290
    Dernier message: 28/11/2011, 10h53
  2. Réponses: 2
    Dernier message: 19/09/2011, 13h09
  3. Différence entre TCP, UDP, ICMP
    Par GliGli dans le forum Développement
    Réponses: 1
    Dernier message: 13/09/2002, 08h25
  4. Différences entre jmp, jz, jnz, etc
    Par christbilale dans le forum Assembleur
    Réponses: 3
    Dernier message: 05/07/2002, 15h09
  5. Réponses: 3
    Dernier message: 07/05/2002, 16h06

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