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 :

Update le résultat d'une requête ?


Sujet :

JDBC Java

  1. #1
    Candidat au Club
    Inscrit en
    Février 2011
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Update le résultat d'une requête ?
    Bonjour,

    Dans le cadre d'un logiciel de stock que j'ai développé, je répète énormément de fois la même requête ( en gros "SELECT * FROM ARTICLES"), la liste comportant quelque chose comme 50000 articles, je trouve ça assez lourd. Je me demandais s'il existe un moyen pour récupérer cette liste au lancement de mon programme et ne faire ensuite qu'une requête sur les changements qui ne ferait que mettre à jour les lignes articles modifiés.

  2. #2
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Tu comptes garder en mémoire 50000 enregistrements ? Ça paraît délirant comme façon de faire...
    Il serait préférable d'envisager de charger les enregistrements page par page (façon google)

    C'est quel type d'application :
    - autonome
    - web
    - client/serveur
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Candidat au Club
    Inscrit en
    Février 2011
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    C'est du client serveur. la base de donnée est en sql server.

    J'avoue que je ne sais pas trop comment gérer cette liste d'article, j'ai besoin de pouvoir accéder rapidement a la liste dans pas mal de fenêtre de mon appli. En gros je met ça dans un combobox avec autocompletion que je remplis avec ma liste d'article, c'est pas horrible non plus, ça doit mettre quelque chose comme 2 secondes à se charger et une fois chargé la recherche est assez rapide. Mais je pense pas que ce soit une bonne façon de procéder. En gros j'aimerais minimiser les appels à la base de données tout en pouvant rechercher rapidement un article.

  4. #4
    Membre actif
    Homme Profil pro
    Consultant BigData
    Inscrit en
    Juillet 2009
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant BigData

    Informations forums :
    Inscription : Juillet 2009
    Messages : 129
    Points : 280
    Points
    280
    Par défaut
    En gros j'aimerais minimiser les appels à la base de données tout en pouvant rechercher rapidement un article.
    Pour la notion de "rechercher rapidement", je t'orienterais bien vers les indexes, tout simplement.
    Et puisque tu veux minimiser les appels à la base de données, pourquoi pas faire appel à un moteur d'indexation type Lucene, ES, & co ?

    Par contre, c'est un avis personnel, mais avoir une combo box de 50k éléments, ça me parait *un peu* excessif

  5. #5
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 709
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 709
    Points : 4 790
    Points
    4 790
    Par défaut
    Justement, il ne faut PAS minimiser les appels à la base de données
    Elle est faite pour cela.

    dans une appli de stock, l'utilisateur va chercher / utiliser un article
    - soit sur son code (SELECT * FROM ARTICLES WHERE Id = ...)
    - soit sur son libellé (ou une partie du libellé) (SELECT * FROM ARTICLES WHERE Designation LIKE = ...)

    Avec Sql Server, pour 50.000 articles, La réponse est instantanée sur le code article (qui sera indexé car probablement clé primaire)
    et quasi instantanée sur une recherche sur une partie du libellé.
    Fais quelques essais, tu seras étonné.

    En revanche, si tu charges tes articles en mémoire, les modifications apportées aux fiches articles par les autres utilisateurs
    ne seront pas visibles par ton application jusqu'à ce qu'elle redémarre.
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

Discussions similaires

  1. UPDATE d'une table à partir des résultats d'une requête
    Par pascal_06 dans le forum Langage SQL
    Réponses: 8
    Dernier message: 05/12/2013, 15h08
  2. Réponses: 6
    Dernier message: 20/02/2007, 14h43
  3. Réponses: 4
    Dernier message: 05/04/2005, 18h28
  4. Résultat d'une requète SQL
    Par camino dans le forum Bases de données
    Réponses: 2
    Dernier message: 21/02/2004, 15h22
  5. [BDD] Enregistrer le résultat d'une requête
    Par Mowgly dans le forum C++Builder
    Réponses: 5
    Dernier message: 19/06/2002, 15h26

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