Après avoir écrit une requête complexe ou une procédure stockée, comment vérifiez-vous que les résultats sont précis à 100% et assurez-vous que ce sera le cas pour tous les paramètres d'entrée? Mon approche personnelle consiste à tester, tester et tester tout au long du développement, en vérifiant que les valeurs NULL n'apparaissent pas là où je ne m'y attendais pas, que les lignes ne sont pas supprimées ou doublées, puis J'ai rempli la requête que j'effectuerais 'une quantité' de tests en prenant des enregistrements aléatoires du jeu de résultats et ensuite vérifier que ceux-ci sont comme prévu.Vérification des résultats de la requête
Répondre
Lors de l'écriture de requêtes complexes, j'écris d'abord toujours mes résultats attendus pour chaque ensemble d'entrées souhaitées. Dessinez votre ensemble de données et compilez une matrice de résultats en fonction de vos entrées. Au fur et à mesure que vous commencez à générer la requête complexe, vous pouvez vous assurer que chaque partie produit les résultats corrects en fonction de votre matrice de test initiale.
J'ai tendance à garder mon ensemble de données très «simple» et minimal pour m'assurer que chaque cas spécifique de filtrage/conditions de résultat est satisfait. Même si le SQL lui-même est incroyablement complexe, la quantification de vos résultats pour validation lors de la conception et de l'implémentation est déroutante et compliquée et peut conduire à des résultats incorrects sans en être conscient. Une fois que je serai à 100% confiant sur mes données d'échantillon, je revérifierais mes résultats en testant un scénario de mise en scène de données de production (ou un ensemble de données plus important).
Je suppose que toutes les questions relatives à la création ou l'acquisition de données d'exemple devraient être pour un autre fil. :) Je vais essayer cette approche dès que j'en aurai l'occasion et voir comment ça se passe pour moi - merci Rick. –
Les requêtes complexes (= difficiles à lire) peuvent souvent être écrites comme une séquence de requêtes simples (= faciles à lire) exécutées sur une table #temp. Au cours du développement, je commence par mettre la série d'étapes simples dans un proc stocké, puis je compare les résultats à la requête finale.
Restez simple - la devise des développeurs sains! Cela ressemble beaucoup à l'approche que je prendrais - parfois au prix d'un peu d'E/S ou de CPU, d'esprit. Écrivez du code performant maintenant, optimisez plus tard si nécessaire. –
Essayez d'abord toutes les sous-requêtes séparément. Rejoignez vos tables une à la fois. Vérifiez les contraintes dans la base de données pour éviter de passer beaucoup de temps sur des situations qui ne peuvent pas se produire (les contraintes sont vos amis). Si la requête devient très difficile, éliminez les parties qui peuvent être créées en tant que vues.
Pensez.
Très sous-estimé, la pensée est. (C'est probablement parce que pour un gestionnaire un programmeur assis là pensant ressemble à un programmeur assis là à ne rien faire.)
- 1. Vérification des résultats de la requête sqlite
- 2. Organisation des résultats de la requête
- 3. Affichage des résultats de la requête SQL
- 4. Faire des liens de résultats de la requête en PHP
- 5. Volatilité des résultats de la requête dans asp
- 6. ms résultats de la requête d'accès afficher des problèmes
- 7. Affichage des résultats de la requête client PSQL 8.3 +
- 8. Requête SQL pour la récupération des résultats de recherche
- 9. Requête MySQL - Nom de la table des résultats
- 10. Combiner les résultats de la requête sql
- 11. La fonction Oracle et la requête renvoient des résultats différents
- 12. PHP Résultats de la requête SQL
- 13. Résultats de la requête mysql tri
- 14. vb.net parcourir les résultats de la requête
- 15. la vérification des pouvoirs
- 16. Obtenir des résultats uniques dans une requête
- 17. Obtenir des résultats filtrés avec sous-requête
- 18. La requête SQL transforme les résultats des colonnes en lignes
- 19. requête SQL à partir des résultats usp
- 20. rejoindre la requête en retournant des résultats impairs
- 21. Liaison des résultats d'une requête sql à la listbox
- 22. Utilisation des résultats de la sous-requête en tant que variable de requête
- 23. Outil de surveillance des résultats de requête SQL requis
- 24. SQL: obtenir la place dans la requête de résultats
- 25. Séquence de vérification avec requête SQL
- 26. résultats inattendus dans la requête Linq
- 27. Vérification du jeu de requête vide dans Django
- 28. Renvoi aux résultats d'une sous-requête dans la requête principale
- 29. Vérifiez les résultats de la requête avant de lancer
- 30. Restriction des résultats d'une de plusieurs à plusieurs rejoint requête
Besoin de plus de détails. C'est une question TRES vaste et elle peut avoir des réponses évidentes et pas si évidentes. Vous devez avoir confiance en votre programmation, alors que vous devriez programmer aussi bien que possible, en essayant de prévenir tous les cas possibles futurs qui peuvent vous ralentir plus que cela ne le fera dans le futur. –
Merci Kerry - tu as raison - je devrais avoir confiance en ma programmation (juste tant qu'il n'est pas 17h20 un vendredi!). –