FORUMS PROFESSIONNELS
WINDEV
,
WEBDEV
et
WINDEV Mobile
Accueil
|
Messages récents
|
Connexion
|
Déconnexion
|
Français
Accueil
→
Etats & Requêtes
→
Vitesse d'exécution
Vitesse d'exécution
Débuté par Lauziciel, 28 fév. 2021 17:37 - 1 réponse
Connectez-vous…
Lauziciel
#1
Membre enregistré
19 messages
Posté le 28 février 2021 - 17:37
J'ai une base de donnée Access que j'ai joint en OLE DB à windev 26.
J'ai plusieurs fenêtres et états et quand je demande l'impression d'un état (dans lequel il y a des calculs par procédures) le temps d'applications ou d'affichage du résultat et beaucoup plus long que la même procédure sous Access.
Y aurait-il un autre moyen de joindre la DB que OLEDB pour accélérer les processus???
--
Merci à l'avance
Michel
Lauziciel
Signaler
0
0
Hazel Brown
#2
Posté le 09 avril 2025 - 12:02
Lauziciel escribío:
J'ai une base de donnée Access que j'ai joint en OLE DB à windev 26.
J'ai plusieurs fenêtres et états et quand je demande l'impression d'un état (dans lequel il y a des calculs par procédures) le temps d'applications ou d'affichage du résultat et beaucoup plus long que la même procédure sous Access.
Y aurait-il un autre moyen de joindre la DB que OLEDB pour accélérer les processus???
--
Merci à l'avance
Michel
Lauziciel
Bonjour Michel,
Vous avez tout à fait raison de chercher des alternatives à OLE DB si vous constatez des lenteurs significatives lors de l'exécution de procédures complexes impliquant des calculs dans vos états Windev 26 connectés à une base de données Access. OLE DB, bien que fonctionnel, peut parfois introduire une certaine surcharge, surtout pour des opérations intensives.
Voici quelques pistes que vous pourriez explorer pour potentiellement améliorer les performances :
1. ODBC (Open Database Connectivity) :
Avantages potentiels : ODBC est un standard plus direct pour l'accès aux bases de données. Il est souvent mieux optimisé pour certains types de bases de données que OLE DB. Windev a un support natif pour les connexions ODBC.
Comment configurer :
Configurer la source de données ODBC : Sur la machine où votre application Windev s'exécute, vous devrez créer une source de données ODBC pour votre fichier Access (.mdb ou .accdb). Vous pouvez faire cela en recherchant "Sources de données ODBC (Administrateur)" dans le menu Démarrer de Windows.
Créer une nouvelle source de données utilisateur ou système.
Sélectionner le pilote Microsoft Access Driver (*.mdb, *.accdb).
Attribuer un nom à la source de données et spécifier le chemin d'accès à votre fichier Access.
Dans Windev : Dans votre analyse (si vous utilisez l'assistant de connexion), choisissez le type de connexion "ODBC". Vous devrez ensuite sélectionner la source de données ODBC que vous avez configurée. Si vous gérez la connexion par programmation, vous utiliserez les fonctions spécifiques à ODBC.
2. Transfert des calculs vers la base de données (si possible) :
Principe : Au lieu de récupérer les données brutes et d'effectuer les calculs dans les procédures Windev lors de l'impression de l'état, essayez de déporter autant de logique de calcul que possible directement dans votre base de données Access.
Moyens :
Requêtes SQL complexes : Créez des requêtes SQL qui effectuent les calculs nécessaires directement au niveau de la base de données. Windev récupérera alors des résultats déjà calculés.
Vues : Définissez des vues dans Access qui intègrent les calculs. Windev pourra ensuite interroger ces vues.
Fonctions et procédures stockées (si la complexité le justifie) : Bien qu'Access ait des capacités limitées en matière de procédures stockées comparé à des SGBD plus avancés, vous pouvez parfois encapsuler une certaine logique.
Avantages potentiels : Les moteurs de base de données sont souvent optimisés pour effectuer des opérations de calcul sur les données. Le transfert de ces tâches peut réduire la quantité de données transférées et la charge de travail de l'application Windev.
3. Optimisation des requêtes et des données récupérées :
Principe : Assurez-vous que les requêtes utilisées pour alimenter vos états sont aussi efficaces que possible.
Actions possibles :
Sélectionner uniquement les champs nécessaires : Évitez de récupérer des colonnes dont vous n'avez pas besoin dans l'état.
Utiliser des clauses WHERE efficaces : Filtrez les données au plus tôt dans la requête pour ne récupérer que les enregistrements pertinents.
Indexation : Vérifiez que les champs utilisés dans les clauses WHERE et les jointures sont indexés dans votre base de données Access. Des index bien choisis peuvent accélérer considérablement les requêtes.
4. Analyse des performances avec les outils Windev :
Principe : Utilisez les outils de profilage et d'analyse de performances intégrés à Windev pour identifier précisément les goulots d'étranglement dans votre code d'impression d'état.
Actions possibles :
Analyseur de performances : Cet outil vous permet de mesurer le temps d'exécution de différentes parties de votre code et d'identifier les sections les plus lentes.
Visualiseur de requêtes : Vérifiez les requêtes SQL générées par Windev et leur temps d'exécution.
5. Vérification de la configuration matérielle et réseau (moins probable dans ce cas, mais à considérer) :
Si l'application et la base de données se trouvent sur des machines différentes, un réseau lent peut impacter les performances. Cependant, si tout est local, cela est moins susceptible d'être la cause principale.
En résumé, voici une approche progressive que je vous suggère :
Essayez de passer à une connexion ODBC. C'est souvent une première étape simple qui peut apporter des améliorations.
Analysez vos procédures de calcul dans les états. Identifiez si une partie de cette logique pourrait être déplacée vers des requêtes SQL ou des vues dans Access.
Optimisez les requêtes SQL utilisées pour alimenter vos états.
Utilisez l'analyseur de performances de Windev pour identifier les points précis où le temps est perdu.
N'hésitez pas à me donner plus de détails sur la nature des calculs effectués dans vos procédures d'état. Cela pourrait m'aider à vous fournir des conseils plus spécifiques.
Bon courage dans vos optimisations !
Cordialement,
Hazel
https://www.e-zpassct.com
Signaler
0
0
→ Revenir à Etats & Requêtes
WINDEV 2025
WINDEV 2025
WEBDEV 2025
WEBDEV 2025
WINDEV Mobile 2025
WINDEV Mobile 2025
WINDEV (précédentes versions)
WINDEV (précédentes versions)
WEBDEV (précédentes versions)
WEBDEV (précédentes versions)
WINDEV Mobile (précédentes versions)
WINDEV Mobile (précédentes versions)
Etats & Requêtes
Etats & Requêtes
Hors-sujet
Hors-sujet
Outils
Outils
WINDEV 26
WINDEV 2024
WINDEV 2024
WINDEV 25
WEBDEV 2024
WEBDEV 2024
WINDEV Mobile 2024
WINDEV (précédentes versions)
Français
English
Español
Portuguesa
Fermer cette fenêtre
Type de recherche
Uniquement les sujets
Tous les messages
Période de recherche
Date indifférente
Moins d'une heure
Moins de 24 heures
Moins d'une semaine
Moins d'un mois
Moins d'un an
Annuler
Aperçu de votre message
Ajouter une image
Importer une image depuis une URL
Envoyer une image depuis un fichier de votre disque
Déposez ici un fichier ou cliquez sur "Parcourir..."
ou
Annuler
0%
WLangage
SQL
XML, HTML
JAVA, Javascript
Texte