2012-09-06 5 views
1

J'ai une application qui affiche des mesures sur les défauts d'un projet. J'ai la possibilité de faire une requête qui renvoie tous les défauts, et à partir de là, je peux sortir environ quatre métriques différentes (Combien de défauts ont échappé au contrôle qualité dans 90 jours, 180 jours, puis les mêmes métriques, mais seulement compter les défauts sev1/sev2).Requête SDK2 pour le comptage: qui est plus efficace?

Je pourrais faire quatre requêtes et limiter les résultats à un afin que j'obtienne juste un compte pour chacun. Ou je pourrais faire une requête qui les englobe tous (tous les défauts qui ont échappé à l'assurance qualité en 180 jours) et ensuite compter la différence. Je pense que dans le pire des cas, le nombre de défauts qui ont échappé au contrôle de qualité au cours des six derniers mois sera généralement inférieur à 100, certainement moins le pire des cas 500.

Que feriez-vous - quatre requêtes avec un résultat chacune, ou une seule requête qui en moyenne pourrait renvoyer 50, peut-être pire cas 500?

Et je suppose que la question clé est: où sont les points d'inflexion? Peut-être que j'ai plus de métriques demain (qui sait, 8?) Et un nombre de défauts moyen différent. Y a-t-il une règle empirique que je pourrais utiliser pour aider à choisir quelle approche?

+0

Je ne sais pas, mais je pense que l'utilisation de quatre requêtes serait plus efficace termes de tirer des données, car ils sont tous les appels asynchrones. Cependant, vous devrez également gérer les multiples rappels, au lieu d'en attendre un. Je pourrais être en train d'analyser ce problème, mais c'est mon évaluation initiale. – user1417835

Répondre

0

Eh bien, je ferais probablement la série de quatre requêtes et utiliser le nombre de résultats. Si vous attendez 500 défauts, vous finirez par avoir trois requêtes avec 200 défauts de toute façon.

La solution où vous effectuez chaque requête individuelle et utilisez le nombre total de résultats serait sûre avec même une très grande quantité de défauts. De plus, je trouve généralement que c'est un mauvais plan de penser que je connais les ensembles de données qu'une application va traiter. La plupart de mes applications finissent par vivre beaucoup plus longtemps et sont utilisées sur des ensembles de données plus volumineux que ce que j'avais prévu.

0

La taille de la page max est de 200, donc il semble que vous seriez demanderez entre 1 et 3 pages pour obtenir toutes les données par rapport à 4 requêtes avec une taille de page 1 et en utilisant le TotalResultCount ...

Vous aurez certainement moins de code d'agrégation à écrire si vous utilisez l'approche multi-requête (en laissant le serveur faire le compte pour vous en fonction des filtres fournis).

Je suppose les 4 requêtes indépendantes pourraient être plus rapide, mais il serait intéressant d'entendre récupérer vos résultats expérimentaux ...

Questions connexes