1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies. En savoir plus.
  2. Bonjour tout le monde ! Veillez consulter la Politique de forum pour comprendre nos règles, Merci a vous !
    Rejeter la notice

Pour aller plus vite...

Discussion dans 'Windev' créé par gapplicat, Mar 11, 2018.

  1. gapplicat

    gapplicat Well-Known Member
    MEMBRE WX

    Inscrit:
    Mar 8, 2018
    Messages:
    399
    J'aime reçus:
    707
    EN OUVERTURE DU LOGICIEL

    Par facilité ou par ignorance on place la fonction HCréationSiInexistant au début des applications pour
    s'assurer que tous les fichiers soient crées.

    Cette fonction est super pratique... pour les petites bases de données, mais pour les bases un peut plus conséquentes l'ouverture initiale des fichiers fait partie des opérations les plus coûteuses en temps.

    Il y a une solution : HCréationSiInexistant("*", hOuvertureDifférée)

    Tous les fichiers restent créés automatiquement, mais pour les fichiers existants, l'ouverture ne sera pas faite immédiatement. Elle sera différée à la première utilisation effective du fichier.

    Seuls les fichiers réellement utilisés seront ouverts.


    ACCÈS A LA BASE DE DONNÉES


    Toujours privilégier un accès aux données au travers du moteur Hyper File Client/Serveur, cela permet de reporter le travail du poste client vers le serveur et donc de gagner en performances.

    Les procédures stockées , utilisable en client/serveur , peuvent offrir également des gains de temps.
    Concrètement, un long traitement de recalcul de TVA pourra être fait en "différé" de l'application...


    ANALYSEZ RÉGULIÈREMENT LES PERFORMANCES


    windev propose l'analyseur de performance, n’hésitez pas en vous en servir, il m'a apporté beaucoup de renseignements utiles pour améliorer mon code.


    AJOUT DE NOMBREUX ENREGISTREMENTS D'UN COUP


    Par exemple lors de l'import de données, privilégiez la fonction HECRIT au lieu de HAJOUTE

    Elle permettra d'insérer les données à importer, sans aucune mise à jour des index. Cela permet un gain de temps, très significatif dans le cas d'un fichier ayant de nombreux index.
    Une fois toutes les écritures enregistrées, lancez une réindexation des données avec la fonction HREINDEXE (voir un autre de mes posts pour l'utilisation de cette fonction)
     
  2. suenodesign

    suenodesign Well-Known Member
    MEMBRE WX

    Inscrit:
    Jan 1, 2018
    Messages:
    507
    J'aime reçus:
    732
    Merci @

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

     
  3. aminej76

    aminej76 Active Member
    MEMBRE WX

    Inscrit:
    Jan 23, 2018
    Messages:
    283
    J'aime reçus:
    102
    Personnellement je n'utilise la commande HCréationSiInexistant("*") que si la version de l'exe change ou forcé par le compte MANAGER parce que elle est très coûteuse de temps.
    Même la fonction HCréationSiInexistant("*", hOuvertureDifférée) prend aussi un peu de temps.
     
  4. warjoen

    warjoen Active Member
    MEMBRE WX

    Inscrit:
    Jan 1, 2018
    Messages:
    155
    J'aime reçus:
    120
    be careful with this procedure, because if the program is run in multi user, the process can produce wrong, if there are users who access data using index data, while data has not been indexed ...
     
    Kill3rbko apprécie ceci.

Partager cette page

Chargement...