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

Requêtes PostgreSQL Discussion :

requête anormalement ralentie


Sujet :

Requêtes PostgreSQL

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2006
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2006
    Messages : 126
    Points : 93
    Points
    93
    Par défaut requête anormalement ralentie
    Bonjour,

    J'exécute des scripts sql lents.
    Pour les développer et les tester je les exécutais d'abord via PG Admin III (sous windows) et j'obtenais des temps d'exécution de l'ordre de 10 minutes.

    Ces scripts sont destinés à être exécutés automatiquement par une application .Net qui en réalité fait appel à la commande "psql -q -f script.sql -d postgis -h localhost -U postgres".

    Là où je sèche, c'est que de 10 minutes de temps d'exécution, je passe à 2h !?

    Les scripts sont du type:
    - créer des indexes sur les tables
    - créer une table pour stocker les données
    - remplir la table (à partir d'autre tables et de fonctions home made sur des données spatiales)

    Je cherche donc la / les cause(s) qui peuvent expliquer une telle différence de temps d'exécution.

    Je ne sais pas trop si ma question devrait se trouver plus dans le forum Postgres que dans celui .Net car c'est vraiment quand le script est lancé par mon application qu'il ralenti; si je tape moi même la commande "psql" dans une console Windows, les temps d'exécution sont les mêmes que dans PG Admin III

    D'avance je vous remercie.

  2. #2
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Si tu obtiens le même temps de réponse dans PGAdmin et en lançant la commande à la main mais que l'utilisation de la commande dans .net prends 12 fois plus de temps, j'aurais tendance à dire que le problème vient plutôt de .Net.

    10 minutes, c'est déjà long !
    Tu as des millions de lignes et des traitements vraiment si complexes ?
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2006
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2006
    Messages : 126
    Points : 93
    Points
    93
    Par défaut
    merci de ta réponse,

    Moi aussi je pense que ça vient du .Net cependant j'utilise le même procédé dans la même application pour importer/exporter (shp2pgsql/pgsql2shp) les données dans la base de données et là les temps d'exécution sont les mêmes que quand je lance les commandes à la main.

    Et finalement, pendant que tu me répondais, j'ai essayé d'exécuter le script directement dans .Net et là je retrouve des temps plus bas : 20 minutes.

    Pour l'anecdote,
    Oui le temps de traitement est assez logique.
    J'utilise 3 à 5 tables ayant un peu moins de 1 million de records pour les 3 plus grosses mais surtout il y a pas mal de traitements de données spatiales.
    De plus j'ai dû écrire une fonction de 350 lignes en plpgsql, fonction qui est appelée sur chacun des 750 000 record d'un des tables.

Discussions similaires

  1. Retour de requête anormalement vide
    Par dragondumond dans le forum JDBC
    Réponses: 2
    Dernier message: 30/09/2014, 10h13
  2. Requête anormalement longue
    Par supierre dans le forum Langage SQL
    Réponses: 4
    Dernier message: 12/09/2012, 09h17
  3. Requête anormalement longue
    Par LBO72 dans le forum SQL
    Réponses: 10
    Dernier message: 20/01/2010, 10h10
  4. [MySQL] Requête Update anormale
    Par tentsuken dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 02/01/2008, 08h27
  5. dbOpenSnapshot qui ralenti une requête !
    Par infosorome dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 28/05/2007, 13h42

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