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

PostgreSQL Discussion :

[libpq] Comment travailler les résultats d'une requête obtenus en format binaire ?


Sujet :

PostgreSQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    586
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 586
    Par défaut [libpq] Comment travailler les résultats d'une requête obtenus en format binaire ?
    Bonjour.
    libpq permet d'utiliser la fonction PQexecParams pour obtenir des résultats en mode "texte" ou en mode "binaire".
    Le mode texte est relativement simple: tout apparait sous forme de chaine de caractères et il n'y a plus qu'à retransformer en ce qu'on veut, que ce soit une valeur simple (par exemple entier, flottant, booléen...) ou une valeur plus complexe (par exemple point, line, box, circle, bytea...). Ca n'est pas très difficile.
    Le mode binaire oblige à recalculer les valeurs voulues, par exemple les entiers sur 4 octets (en big-endian en plus ), etc. Ce n'est pas très difficile non plus mais là où ça se corse, c'est pour récupérer des données timestamp, ou integer[], ou encore des données de types composés créés par l'utilisateur... Savez-vous s'il y a quelque part une doc sur le format binaire des différents types de données possibles ?
    Et, question subsidiaire : y a-t-il un avantage à récupérer ces données en format binaire plutôt que texte, mis à part peut-être une petite considération de performance si on considère que pour fournir du format texte, libpq est obligé de transformer le format binaire natif, et que pour l'utiliser ensuite, je suis obligé de le retransformer en int, en bool, en float, etc. ?
    Merci!

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 010
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 22 010
    Billets dans le blog
    6
    Par défaut
    Citation Envoyé par Thorna Voir le message
    Et, question subsidiaire : y a-t-il un avantage à récupérer ces données en format binaire plutôt que texte,
    Dans ce cas précis aucun... C'est même pire : le peu que vous allez gagner en sortie de PG sera perdu x 10 en traitement côté client.....

    Le mode binaire n'a de réel intérêt que si l'on veut exploiter directement l'information en mode binaire. Par exemple pour des données spatiales, le format WKB.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Membre très actif
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    586
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 586
    Par défaut
    Ok, ça me rassure...
    Merci !

Discussions similaires

  1. [AC-2007] Comment naviguer dans les résultats d'une requête ?
    Par DurDur dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 02/05/2015, 13h27
  2. Réponses: 1
    Dernier message: 12/02/2014, 20h39
  3. Réponses: 2
    Dernier message: 07/02/2012, 09h17
  4. Réponses: 2
    Dernier message: 30/07/2009, 14h26
  5. Comment formater les résultats d'une requête sql
    Par hjulius dans le forum PL/SQL
    Réponses: 1
    Dernier message: 28/07/2009, 17h23

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