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

WinDev Discussion :

Problème de lenteur sur une procédure


Sujet :

WinDev

  1. #21
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2014
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2014
    Messages : 69
    Points : 128
    Points
    128
    Par défaut
    Bonjour,


    @ serendib
    A part pour optimiser, il me semble très exagéré de reindexer systématiquement la base
    puisque si une erreur d'index doit se produire, elle se produira, même si tu as lancé la réindex avant.
    Voilà tout.
    Voila un raisonnement bien fataliste et qui me semble à l'envers. C'est quoi une erreur d'index ? Je ne sais pas, par contre je connais les erreurs de lecture, d'écriture dues à des index erronés. Il faut mettre les choses à l'endroit, ce n'est pas la lecture qui crée l'erreur d'index mais elle peut en être la victime, et dans ce cas la réindexation préventive peut être judicieuse.

    Et comment sait on qu'il faut agir préventivement ? Aux problèmes,il peut y avoir des raisons matérielles ou réseaux ou que sais-je, mais j'ai noté depuis très longtemps que l'ajout dans les fichiers n'altère quasiment jamais les index. Ce sont surtout les suppressions de données qui créent "des trous" dans les index et génèrent par la suite des erreurs et plantages Autrement dit, plus vous faites d'ajouts-suppressions sur un fichier, plus il est nécessaire de ré indexer régulièrement.

    @ lololebricoleur
    La gestion des exceptions permet de faire face à des erreurs de doublons par exemple, mais si on est en lecture et que l'index est erroné on aura pas obligatoirement une exception. Il est fort probable qu'on pointera vers un autre enregistrement que celui recherché.Si on fait une modification derrière on aura toujours pas d'exception, et là, on a mis 70 ans à mme DUPONT au lieu de les mettre à mme DUPOND, c'est la cata !

    Sinon vous n’êtes pas obligé de mettre des "QAUND EXCEPTION" partout, la fonction HsurErreur en début de projet permet de diriger et globaliser la gestion des exceptions vers vos propres procédures

    Cordialement

  2. #22
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2010
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 359
    Points : 508
    Points
    508
    Par défaut
    Merci JG,

    Si je comprend bien votre raisonnement (qui me va bien d'ailleurs), j'en déduit que mon approche n'est pas forcément mauvaise finalement puisqu'une erreur d'index ne déclenchera pas forcément une exception, exact ?
    D'ailleurs et vu comme ça, fonction hsurerreur ne changera rien dans le cas présent, si ?

    Merci ;-)
    Les solutions les plus simples sont les plus efficaces

  3. #23
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2014
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2014
    Messages : 69
    Points : 128
    Points
    128
    Par défaut
    Comme le faisait remarquer hpascal, une réindexation par semaine peut être suffisante.

    Je confirme, une erreur d'index déclenche une exception dans le cas de doublon sur clé unique ou erreur d'intégrité mais pas obligatoirement pour le reste. C'est pourquoi en langage natif mon coté parano me fait toujours tester htrouve après hlitrecherche.

    Si vous relisez bien la doc sur les exceptions il n'est pas anormal que le code QUAND EXCEPTION ...FIN s'exécute en début de projet. Avec cette syntaxe, c'est l'exception produite après le code d'exception qui nous ramène dans le bloc QUAND EXCEPTION et non pas une éventuelle erreur produite avant.

    Si vous voulez cadrer les exceptions dans un ordre d'exécution du code, il faut utiliser la syntaxe décrite par dsr57 , cad :
    QUAND EXCEPTION DANS .... FAIRE ....FIN

    Cordialement

  4. #24
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 202
    Points : 9 190
    Points
    9 190
    Par défaut
    Si tu "tiens" (note bien les guillemets), à faire une réindexation, pourquoi ne pas le faire à la fin de ton programme ?

    J'ai déjà vu cette pratique sur le logiciel WINEXPE mis à disposition chez les clients du transporteur GLS. 'appli que nous avions était en Windev 9 et se réindexait en sortie.

    De plus, tu peux également choisir de ne le faire que si c'est un vendredi, par exemple.
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  5. #25
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2010
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 359
    Points : 508
    Points
    508
    Par défaut
    J'ai bien noté les guillemets frensh ;-)

    Oui, en sortie, pourquoi pas.
    Une fois pas semaine ou à un jour donné, ça ne me semble pas convenir.
    Si j'ai un problème d'index le jeudi et que je ne déclenche la procédure le vendredi, mon client reste avec son problème.

    Je vais laisser en l'état pour l'instant en attendant de trouver mieux.
    Merci à tous
    Les solutions les plus simples sont les plus efficaces

Discussions similaires

  1. [10gR2] Problème de lenteur sur une requête
    Par daddy2014 dans le forum SQL
    Réponses: 1
    Dernier message: 15/07/2014, 18h18
  2. Problème de lenteur sur une proc avec EF mais pas sur la base
    Par Oberown dans le forum Entity Framework
    Réponses: 0
    Dernier message: 14/02/2013, 16h49
  3. Problème sur une procédure stockée
    Par jolio2006 dans le forum PL/SQL
    Réponses: 6
    Dernier message: 17/11/2008, 18h55
  4. problème sur une procédure
    Par Coolbeats dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 31/12/2007, 17h17
  5. Problème de lenteur due à une selection sur une date [CR 8.5]
    Par Fredifredo dans le forum SAP Crystal Reports
    Réponses: 15
    Dernier message: 13/02/2007, 17h10

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