Envoyé par
ShaiLeTroll
L'utilisation de Footer et des totaux !
J'ai pas eu le temps d'approfondir mais c'est un piège !
L'utilisateur, il adore avoir des totaux et c'est si facile dans la grille que tu oublies vite les bonnes pratiques DB !
On utilise ODAC en Partial Fetch (25 par 25 rec) mais comme la grille pour faire ses totaux balaie le DataSet
et que l'on a une DB des tables avec des centaines de millions d'enreg et des stats ultra complexes qui peuvent renvoyer plus de 100 000 lignes (oui inutile, illisible mais l'utilisateur il aime va savoir pourquoi)
En ajoutant des progressions pour faire patienter l'utilisateur durant le Fetch
je me suis rendu compte qu'en fonction des options de la grille, cela balaye 2, 3 voire 4 fois tout le DataSet,
le 1er balayage faisant le Fetch, cela ramène un tas de données (occupation réseau, cPU..., RAM) ce qui peut prendre 10-15 minutes !
J'ai du coup ajouté un mode visualisation rapide sans les totaux (ni les filtres façon Excel dans les colonnes qui consomment du fetch aussi) via une simple TDBGrid
Résultat en 1 à 10s, ensuite l'utilisateur, le temps qu'il défile ou utilise les champs de recherche, il se rend moins compte qu'il accumule du temps et donc des données !
Si j'ai le temps, je ferais un système pour mettre le calcul des totaux en thread !
Partager