Réduire la requête SQL en stockant dans une variable?

Ce pourrait être une question idiote? mais êtes-vous capable d'effectuer une requête SQL à la database pour get tous les éléments d'logging pour X, le stocker dans une variable locale "myRecords" puis filterr les résultats contenus dans la variable "myRecords"? (Vous permet d'effectuer plusieurs tours / requêtes dans la database).

Est-ce même une bonne idée? ou une mauvaise idée?

Je crois que vous faites reference à un cas classique de caching, il y a beaucoup de ressources pour vous guider dans la mise en œuvre d'une telle approche. Pour get une réponse plus spécifique, vous devrez donner plus de détails sur le problème que vous tentez de résoudre. Le sujet est énorme et pourrait être très complexe en fonction des parameters de votre environnement.

Absolument!! C'est appelé la caching .. mais de nombreuses façons de le faire .. consultez cet excellent article http://wiki.asp.net/page.aspx/655/caching-in-aspnet/

Je suis d'accord avec K Ivanov. Je voulais juste append quelques petites choses.

Cela peut être une énorme amélioration des performances ou un désastre complet. Rarement c'est au milieu des deux.

Je pense que vous pourriez vouloir faire quelques choses avant de poursuivre ce sujet. Commencez par profiler votre database et vos requêtes. Recherchez des zones telles que les index nouveaux ou modifiés ou même une design de table légèrement différente susceptible d'améliorer les performances en premier.

Il y a plusieurs problèmes. Le premier traite des exigences de memory sur la machine qui mettra en cache ceci. Si votre server de database est déjà limité par la memory, il est déconseillé d'y append un cache intermédiaire.

Si vous mettez en cache datatables sur le server Web, vous risquez d'augmenter radicalement l'empreinte memory de votre application. En outre, en fonction de la stratégie de caching et de la nature de vos données, celles-ci peuvent rapidement devenir obsolètes et entraîner de mauvais résultats.

Le point est, avant d'essayer et d'aller un path différent, assurez-vous de comprendre complètement le problème que vous avez. Cela peut être aussi simple que de modifier des index et / ou d'append de la RAM à votre server de database. Celles-ci sont relativement faciles à mettre en œuvre, alors qu'un mécanisme de caching solide peut être un avantage ou conduire à des problèmes encore plus importants.