Je transfère environ 350 lignes (avec une certaine collecte de données) d'un serveur MS SQL vers l'iSeries pour traitement. Je pense que le processus est trop lent, soit environ une minute. Je fais toutes les choses MS SQL dans LINQ2SQL. Voici les bases de ce que je fais actuellement:Accélération des requêtes avec LINQ
- Recueillir l'ensemble des données de base du véhicule pour traiter un à-un-temps.
- SOMME() Consommation de carburant par véhicule
- SOMME() La consommation d'huile par véhicule
- SOMME() des pièces utilisées par véhicule
- SOMME() du travail par véhicule
- SOMME() Réparations extérieur par véhicule
- SOMME() coûts d'accident par véhicule
Je sais que cela est beaucoup de requêtes, mais la plupart d'entre eux sont des tables différentes dans la MS SQL Server. Tout cela nécessite au moins une jointure. Je pense à joindre Oil et Parts à une requête et à Outside Recairs and Accident Costs en une seule requête car ces deux éléments sont stockés dans les mêmes tables et voient si cela améliore les performances.
Avez-vous d'autres suggestions? Notez qu'il s'agit d'un produit fourni par le fournisseur et que je préférerais ne créer aucune procédure ou vue stockée (qui en fait n'existe pas) qui ne se trouve pas déjà dans la base de données.
Mise à jour: J'ai eu another post en regardant des alternatives à l'amélioration de la vitesse.
350 lignes est à peine une quantité imposante de données. Avez-vous exécuté une trace SQL pour voir ce que TSQL est en train d'exécuter? Pourrait être N + 1 ou similaire? –