Précédent   Forum des professionnels en informatique > Bases de données > PostgreSQL
PostgreSQL Forum PostgreSQL. Avant de poster -> F.A.Q PostGreSQL Tutoriels PostGreSQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/07/2005, 09h51   #1
Invité de passage
 
Inscription : décembre 2004
Messages : 30
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 30
Points : 2
Points : 2
Par défaut LIBPQ - Affichage requete dans table virtuelle

Yo !

j'aimerai quelques infos concernant la recuperation des requetes en utilisant la lib libpq.
je test cette lib pour savoir si je migre vers cette bdd.

donc mon probleme est de faire une requete, assez importante (100000 resultats) et d'afficher tous ces resultats dans une table virtuelle (mfc - listctrl).

Le probleme est que postgre charge tous les resultats en memoire (pour ma requete ~2,5 min sur reseau 100Mb). Je l'ai fais en synchrone pour l'instant, donc apres le retour de ma requete l'affichage de ma table virtuelle est extremement rapide, c nikel.
J'aimerai eviter d'attendre apres ma requete, donc je peux le faire en asynchrone mais le probleme c que je ne veux pas attendre le chargement des 99000 1ers resultats pour afficher les derniers. Si je suis sur une connexion plus lente ca va demander un temps fou.

Ce que j'aimerai c lancer la requete, etre notifié lorsque le serveur l'a terminé puis ensuite ne charger par le reseau que les lignes qui m'interesse et quand je le veux. Ca n'empeche pas de tout charger mais si l'utilisateur se deplace a la fin de la table j'aimerai pouvoir charger les lignes qu'il veut de suite sans avoir a attendre les precedentes.

Dois-je me debrouiller a effectuer plusieurs requetes ou il y a t-il un moyen de le faire plus simplement ?

merci pour votre aide
Mike
Mike@Nestor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2005, 14h11   #2
Invité de passage
 
Inscription : décembre 2004
Messages : 30
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 30
Points : 2
Points : 2
ca y est j'ai eu ma réponse !

il est donc possible de charger uniquement des "parties" de la reponse. Pour cela il faut utiliser un curseur (DECLARE toto CURSOR FOR SELECT * FROM ...) et la commande FETCH pour recuperer a partir du curseur...ce que je vais essayer de suite.

Mike
Mike@Nestor est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h17.


 
 
 
 
Partenaires

Hébergement Web