2010-09-27 23 views
0

Exigence
applications .NET Windows en utilisant C# interagit avec Oracle DB pour la récupération et la sauvegarde des donnéesPagination et mise en mémoire tampon des données dans Windows Application utilisant C# 2005

Problème
Avec grand volume de données, la performance est lente et l'utilisation de la mémoire est élevée, l'application affiche toutes les données dans l'écran. Le temps de réponse est élevé en raison de l'appel de base de données et le traitement de données côté client

Solution proposée
Utilisation de la pagination (à partir d'Oracle DB) pour afficher des données partielles dans l'écran, le temps de réponse de l'application sera plus rapide; cependant, il fera des appels DB pour chaque page. Nous recherchons une solution pour obtenir les données de la 1ère page à partir de la base de données et démarrer l'application, après quoi il y aura un travail en arrière-plan pour obtenir le reste des données de la base de données vers une base de données XML locale. Ainsi, dans le cas de la page suivante, les données seront chargées à partir de XML au lieu de faire un appel DB.

Est-ce que cette conception est possible?
La synchronisation est-elle possible entre la base de données XML locale et la base de données Oracle?

Répondre

0

Personnellement, je ne suis pas sûr que vous vouliez vraiment aller aussi loin, car la synchronisation, et l'ensemble des E/S du disque pourraient être très "intéressants" au mieux.

Généralement, ce que j'ai trouvé bon dans le passé si vous devez vraiment avoir des enregistrements "pré-récupérés" pour plus de jeu de résultats est que vous pouvez mettre en cache les 2 pages suivantes et 2 précédentes en mémoire, de cette façon la transition des utilisateurs est fluide, et après que vous naviguez sur la page, un thread backend sortira et pré-va chercher la page suivante afin que vous l'ayez. Sinon, si vous faites ce dont vous parlez, vous ne faites que reporter les impacts sur les performances et introduire la synchronisation des données et d'autres problèmes.

+0

Merci pour la réponse. En fait, le problème est que notre application est une application Windows et que nous devons gérer une énorme quantité de données à l'écran, ce qui réduit les performances de l'application. La pagination est une bonne option, mais nous avons quelques difficultés à négocier avec l'entreprise car ils veulent toutes les données sur le scren. Existe-t-il un autre moyen de faire fonctionner l'application plus rapidement? L'aide sera vraiment appréciée. – user330945