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

DB2 Discussion :

Requête SQL : équivalent de Limit?


Sujet :

DB2

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 84
    Par défaut Requête SQL : équivalent de Limit?
    Bonjour,
    J'accède à ma table via un programme en java, et je fais ma requête sur la table en sql.
    Mon problème est que la table a près de 10M de lignes (..), donc que je ne peux pas la charger en une fois, ni faire une requête type select qui me retournerait toute la table. J'avais donc penser lire la table 100lignes par 100lignes, mais le mot clé LIMIT n'est pas accepté par l'AS400.
    Je fais donc un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FETCH FIRST N ROW ONLY
    pour le moment, mais (logiquement), plus j'avance dans la table, plus c'est long.
    Existe t'il un moyen de faire autrement? Je ne peux pas me permettre de temporiser 10sec pour extraire des infos de la table.
    Merci d'avance,
    Bdloul

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Par défaut
    Bonjour,

    la question qu'il faut se poser serai plutôt : quel est l'intérêt de ramenet 10M de lignes dans votre applicatif ??

    N'êtes vous pas en train d'essayer de faire un traitement batch ...? En java qui plus est !


    Bref, pour répondre à votre question initiale, lisez cet article (qui doit marcher en V5r4+) : http://g-ernaelsten.developpez.com/tutoriels/dblimit/

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 84
    Par défaut
    C'est juste une question d'affichage. Je dois afficher le contenu de la table sur une page web, en utilisant les technos J2EE. Je me suis dit que j'allais faire une connexion sur l'as400 ou sont les tables dans mon code modèle et que j'allais afficher le contenu de la table 100lignes par 100lignes. Fin bref ça me semble le plus simple & le truc que tu m'as filé va me permettre de limiter le nombre de ressources utilisées.
    Bref merci.

  4. #4
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Par défaut
    Sinon regardez du côté de votre driver jdbc, il doit supporter ce genre de chose.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 84
    Par défaut
    Je récapitule, puisque je n'ai pas été très explicite la première fois.
    Je fais une interface web entre l'user et une table sur un AS400. La table contient plusieurs M de lignes, mais je voudrais les prendre seulement 100 par 100 (vu que je les affiche que 100 par 100 => bouton next).
    J'ai essayé ce que vous m'avez donné en lien, mais je n'arrive pas à le mettre en place( Error : nombre de colonne incohérente).
    Mais j'ai néanmoins peur que ça me simplifie juste la vie, sans accélérer la requête.
    Mon maitre de stage m'a dit d'essayer un autre driver -> je ne comprends pas, et il revient dans qq jours.
    Serait il possible d'avoir une brève explication?
    Merci d'avance.
    Bdloul

  6. #6
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Par défaut
    Quelle est la requete que vous avez essayé ?

    Certain driver jdbc supporte les offset .. après le code derrière est souvant merdique.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 20/09/2011, 09h58
  2. Réponses: 5
    Dernier message: 24/11/2009, 11h56
  3. Taille limite d'une requête SQL
    Par cradleofpain dans le forum VBScript
    Réponses: 2
    Dernier message: 16/05/2007, 14h10
  4. limitation de caractére dans une requête SQL sous Acces
    Par amka dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 18/08/2006, 15h15
  5. Réponses: 4
    Dernier message: 14/12/2004, 14h34

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