Disons que j'ai 2 tables dans une base de données, chacune avec 100 000 lignes de détail et 10 000 lignes de lignes dans les 5 colonnes principales, correctement indexé et lié. Je veux avoir des gridviews imbriquées maître/détail. Quelle est l'architecture la plus rapide que je pourrais concevoir dans .net pour faire ceci? Le plus grand ensemble de résultats sur le maître pourrait être dans les milliers (généralement dans les dizaines cependant) et le détail par enregistrements pourrait être dans les centaines (généralement dans les chiffres simples si). J'aimerais pouvoir afficher tous les masters si possible.Avec 2 gridviews imbriquées avec de grands ensembles de données, quel est le moyen le plus optimisé pour implémenter
Répondre
La ligne du bas: lier à DataReaders
, utiliser Repeaters
au lieu de GridViews
et désactiver ViewState
.
Le design que vous proposez sera très dur pour vos utilisateurs (des milliers d'enregistrements, par exemple), mais vous le savez probablement déjà. Si cela est juste pour l'affichage et que vous voulez l'architecture absolue la plus rapide pour Asp.Net, vous devez obtenir un IDataReader
pour chaque segment de données (maître et enfant), trié de sorte que vous puissiez correspondre manuellement aux enregistrements enfants en lisant les deux résultats d'une manière avant-seulement. (Voir Scott Mitchell Why I don't Use DataSets in my ASP.NET Applications pour quelques détails sur DataReader
performances - tant que vous n'êtes pas optimisez prématurément, il est tout à fait un bon conseil.)
Au lieu d'utiliser un GridView
, j'utiliser un Repeater
qui a moins de frais généraux et vous permet d'écrire du code HTML plus compact (pour une charge utile plus petite pour le client): lier le maître IDataReader
à ce répéteur. (Je ne suis pas sûr que vous vouliez dire le contrôle GridView
, ou tout simplement une grille conceptuelle - l'architecture de base serait le même pour un GridView
)
Ensuite, ajoutez un gestionnaire à la Repeater.ItemDataBound
qui vérifie si l'enregistrement en cours du lecteur de données enfant allumettes. Si c'est le cas, affichez manuellement vos données détaillées pour cette fiche.
Enfin, vous devez également désactiver ViewState
, au moins pour Repeater
(de préférence pour autant de pages que possible), à nouveau pour que la charge utile HTML soit plus petite. Si vous êtes totalement engagé à imbriquer GridView
s, en particulier en utilisant un GridView
pour afficher les données détaillées, cela nuira à la performance d'une manière ou d'une autre, car vous devrez effectuer beaucoup plus d'appels à la base de données (pour obtenir des jeux de résultats discrets, vous pouvez vous lier à) ou vous devrez masser les données de détail dans un conteneur intermédiaire.
- 1. Quel est le moyen le plus rapide de commencer avec le framework Kohana PHP?
- 2. Quel est le problème avec mes boucles imbriquées en Python?
- 3. Quel est le moyen le plus performant de vérifier l'existence avec une collection d'entiers?
- 4. Quel est le moyen le plus sec d'obtenir des données de ma base de données?
- 5. Un éditeur pour un objet de données en swing, quel est le moyen le plus simple?
- 6. Quel est le moyen le plus rapide de générer un ensemble unique en .net 2
- 7. Quel est le moyen le plus efficace de travailler avec des distances entre deux coordonnées?
- 8. Quel est le moyen le plus rapide pour télécharger un énorme ensemble de données à appengine?
- 9. Quel est le moyen le plus efficace pour créer un sitemap.xml pour n'importe quel système de gestion de contenu?
- 10. Quel est le moyen le plus efficace de gérer une session expirée avec ASP.NET 2.0
- 11. Quel est le moyen le plus rapide de remplir un tableau avec des nombres en PHP?
- 12. Quel est le moyen le plus simple de stocker des données d'un programme Java à MySQL?
- 13. Quel est le moyen le plus rapide d'interroger à partir d'une base de données EAV historique?
- 14. Création de cartes de densité avec de grands ensembles de données géocodées?
- 15. Quel est le moyen le plus populaire pour implémenter les paramètres de configuration comme sur: config dans Firefox?
- 16. Quel est le moyen le plus efficace d'interagir avec un Singleton?
- 17. Quel est le moyen le plus simple d'aligner l'axe Z avec un vecteur?
- 18. façon efficace de fusionner/joindre 2 grands ensembles de données SAS 8.2
- 19. Le moyen le plus simple de mettre en avant Weblogic 9.2 avec apache 2.x
- 20. Quel est le meilleur moyen de synchroniser 2 structures de données en PHP?
- 21. Adobe Air/Flex filtrant de grands ensembles de données
- 22. Transactions SSIS - Grands ensembles d'enregistrements
- 23. Quel est le moyen le plus simple de construire Python26.zip pour la distribution intégrée?
- 24. Quel est le moyen le plus propre d'inclure et d'accéder aux données binaires dans VC++ Express?
- 25. Quel est le moyen le plus simple d'exporter des données depuis une application google app engine?
- 26. J'ai déjà installé PHP, quel est le moyen le plus simple (le meilleur) pour installer GDLib?
- 27. Quel est le moyen le plus simple d'implémenter une fonction de recherche sur un site Web?
- 28. Quel est le moyen le plus simple d'ajouter des informations de version automatique aux tables MSSQL?
- 29. Quelle est la meilleure stratégie pour la conservation de grands ensembles de données?
- 30. Quel est le moyen le plus Pythonien de fournir une valeur de repli dans une affectation?