Bonjour,
Une petite question me turlupine et je n'ai trouvé aucune réponse claire sur le réseau.
La problématique est la suivante ;
Ma boite développe une application en SAAS sous SQL SERVER.
La logique de base qui a été appliquée est de ne mettre aucun métier dans la BDD.
Du coup, exit les procédures stockées...
IL y a cependant un truc qui me gène énormément. Je travaille sur l'ancienne mouture du logiciel en question, client lourd Windev + BDD SQL Server.
J'ai notamment réécrit l'intégration dans le logiciel des fichiers de données qui nous sont envoyés sous forme de CSV.
L'ancien traitement effectuait différents tests sur chaque rubrique.
Pour un enregistrement de 50 rubriques et de 1000 lignes, on se retrouvait en multipliant à : 50 * 3 * 1000 = 150 000 requêtes.
Donc pour chaque fichier traité, on envoyait 150 000 requêtes à la BDD pour savoir notamment si telle taille de rrubrique était correcte, telle référence existante etc ...
Du coup j'ai réécrit ce truc immonde en procédure stockée. Je charge le fichier csv en BDD et j’exécute en tout et pour tout les 150 requêtes de contrôle qui examinent donc l'ensemble des 1000 enregistrements à chaque fois.
Je suis passé de 40 minutes à 10 secondes.
Le problème est que le nouveau logiciel qui ne jure que par les APIs écrit par l'autre équipe continue à exécuter gentiment 150 000 requêtes sous prétexte que les procédures stockées c'est de la merde dans un contexte SAAS.
Leur fonctionnement en parallélisant les traitements a du les faire descendre à 10 minutes à tout casser.
Je me demandais donc si je suis vraiment débile ou s 'il n'y a pas possibilité d'exploiter la puissance du SQL dans un contexte SAAS ?
Partager