English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
Toutes les catégories

* j ai une requete qui affiche anviron 3000 enregistrements; avant elle etait presque instantanee, mais maintenant elle prend plus d une minute pour afficher les donees; peut on accelerer le temps d affichage des donnees...

2007-01-12 01:47:50 · 7 réponses · demandé par Luc M 2 dans Informatique et internet Programmation

7 réponses

Bonjour,

quel type de requete fais tu ?
Requete SQL ? Avec jointures?
Il y a de smoyens d'optimiser mais il faudrait plus d'informations.....

2007-01-12 01:53:23 · answer #1 · answered by SGR 2 · 1 0

Si tu n'as pas besoin d'afficher l'ensembles de tes 3000 enregistrements contenus dans la base de données tu peux limiter le nombre d'enregistrements retournés et ainsi accélérer ton affichage. Voici un exemple de requête SQL qui ne renvoi que les 100 premiers enregistrements :

2007-01-12 03:05:10 · answer #2 · answered by Cyril S 2 · 1 0

ta question ne peut être resolu sans le source et l'application qui l'utilse.
modéle de donnée mal concué, pas d'index pour accelerer le code, surchage du systéme. Il faut avoir tous ces éléments pour que l'on puisse te donner des élément de réponse

2007-01-12 01:57:35 · answer #3 · answered by Hades et Persephone 7 · 1 0

S'il dans la requête il y a des sélections avec where par exemple, créer un index sur les champs concernés peut améliorer le temps de réponse.

Si 'avant' elle était presque instantanée, essaie de voir ce que tu as pu changer dans ta base ou dans l'environnement plus général et qui pourrait avoir un rapport avec ça...

2007-01-13 10:45:30 · answer #4 · answered by Jako 7 · 0 0

oui, il existe de nombreuses méthodes pour accélérer les requêtes. Mais il me semble que tu es sur access et une partie de ces méthodes ne te sont pas accessibles...
par exemple, avec des triggers, tu peux maintenir des champs calculés ou même des tables calculées qui ne font pas partie de l'analyse mais contiennent une synthèse qui va servir pour le reporting. Comme ces triggers s'exécutent au fur et à mesure de la saisie, l'utilisation des ressources nécéssaires est étalée et au moment de lancer la requête finale, c'est instantané.

une autre méthode consiste à utiliser des tables temporaires dans lesquelles tu peux "prémâcher" différentes étapes de la requête pour ne pas laisser l'optimiseur chercher bêtement dans quel ordre traiter les tables alors que toi, tu sais exactement ce que tu veux sortir. en gros, tu lui explique comment tu l'aurait fait "à la main".

une dernière méthode consiste à faire disparaître totalement la requête SQL pour la remplacer par un code VBA utilisant les RecordSets pour générer directement la table finale.

quelle que soit la méthode d'optimisation choisie, il ne faut le faire qu'une fois l'analyse terminée. pendant le développement, les requêtes SQL sont bien suffisantes pour tester les différents états.

une fois toute la logique et les formules finalisées, on peut alors écrire du code pour l'optimisation.

mais si on modifie le MCD en cours de route, il faudra "détricoter" les optimisations et recommencer...

2007-01-12 18:25:48 · answer #5 · answered by Ramis V 7 · 0 0

Regarde dans tes processus si tu n'as pas un programme qui te bouffe des ressources et ralentirait l'execution de ta requête.

2007-01-12 01:55:53 · answer #6 · answered by cl00m 4 · 0 1

Il faut plus de temps, dans le désordre, pour trouver ce que tu lui demandes.
Alors, défragmente et optimise ton DD. ;-)

Tu verras la différence, après... lol

2007-01-12 01:54:49 · answer #7 · answered by fo6l 2 · 0 1

fedest.com, questions and answers