windev tableoccurrenceCe n'est pas la première fois que je parle de l'outil de développement windev sur mon blog, aujourd’hui attardons nous plus particulièrement sur la fonction tableoccurrence. Cette dernière retourne le nombre de lignes ou colonnes d'une table.

On remarque que celle-ci peut avoir un comportement différent selon qu'on travaille sur une table fichier (en accès direct) ou une table mémoire. C'est via l'analyseur de performance que j'ai remarqué un comportement assez déroutant de tableoccurrence sur les tables fichier. Jetons un œil à la documentation qui précise qu'avec une table fichier tableoccurrence retourne par défaut le nombre d'enregistrements du fichier ou de la requête liée (par défaut: toTotal). La constante toAffichée permet quand à elle de ne retourner que le nombre de lignes visibles dans le champ (windev travaille alors sur la table et non la source de donnée liée).

Mon expérience: avec la dernière version stable de windev on considère une table TABLE_MATABLE fichier liée à une requête très simple (à peine 5 enregistrements) et les temps d’exécution suivants:

- TableOccurrence(TABLE_MATABLE): 139 ms
- TableOccurrence(TABLE_MATABLE,toAffichée): 9µs

Je ne sais pour quelle raison windev éprouve autant de difficulté à parser une requête aussi simple ni si on peut observer ce comportement avec d'autres versions du logiciel de PCSOFT mais quoi qu'il en soit n'hésitez pas à utiliser la constante toAffichée si vous êtes certains ne vouloir compter que les lignes visibles. En ce qui me concerne cette petite astuce m'a permis de diviser par deux le temps d'un traitement récurent, ainsi de rendre l'application concernée plus réactive et donc plus agréable à utiliser.

Si cette astuce vous est utile, partagez la!
Partager sur:
A propos de l'auteur:
Guillaume Jeantet: titulaire d'une licence pro et fort de quelques années d'expériences je suis administrateur système et développeur mais surtout un autodidacte dynamique et passionné. Je partage sur UBDT mes coups de coeurs et astuces.

Autres articles qui pourraient vous intéresser.

optimiser mise cache mutuOptimiser la mise en cache sur les mutu ovh et autres hébergeurs
Optimisez le chargement de vos pages web en utilisant le mécanisme de cache sur les serveurs ovh et d'autres hébergeurs. Voyons comment faire avec mod_expires.
windev champ html version ieWindev: version internet explorer du champ html (WebBrowser control)
Comment forcer la version plus récente d'internet explorer dans le champ html windev ou le WebBrowser control.
windev acces natif non installeWindev: accès natif mysql non installé
Parfois après l'installation de l'accès natif mysql windev indique toujours dans l'écran de configuration des connexions que l'accès natif n'est pas installé. Voyons comment corriger ce problème.
windev houvreconnexion long timeoutWindev: HOuvreConnexion très long
Lors de vos développements windev ou en phase de support vous constaterez peut être que vos appels à la fonction HOuvreConnexion peuvent être très long. J'ai une solution à vous proposer impliquant dns pour pallier ce comportement ayant fonctionné pour moi.

Proposer un nouveau commentaire

Votre pseudo s'il vous plaît :

Email (Facultatif, n'est pas affiché et permet de recevoir des notifications de validation / réponses):

Votre site Web (facultatif) :

Exprimez vous :

:arrow::D:confused::cool::cry::eek::evil::!::idea:lol:mad::|:?::p:redface::rolleyes::(:):wink: