Optimiser les transactions SQL dans l'API
<p>J'ai eu un entretien d'embauche récemment et j'ai reçu quelques devoirs. Ensuite, j'ai reçu un retour indiquant que j'avais une combinaison inutile de requêtes et de transactions dans mon point de terminaison de mise à jour. </p>
<pre class="brush:php;toolbar:false;">export const update = async (req : demande, res : réponse, suivant : NextFunction) =>
essayer {
const reportId = parseInt (req.params.id)
const { nom, âge, informations } = req.body
const rapport = attendre ReportModel.findOne ({
où: {
identifiant : identifiant du rapport
}
})
if (!report) return next(new EntityNotExistError("Le rapport n'existe pas"))
attendre ReportModel.update({
nom,
âge,
Info
}, {
où: {
identifiant : identifiant du rapport
}
})
const _report = attendre ReportModel.findOne ({
où: {
identifiant : identifiant du rapport
}
})
retourner res.json({
message : "Rapport modifié avec succès",
rapport : _rapport
})
} attraper (erreur) {
revenir ensuite (erreur)
}
}</pré>
<p>Comme vous pouvez le voir, la première requête vérifie si l'entité existe, puis j'effectue une mise à jour sur l'entité et la dernière requête renvoie l'entité mise à jour.
Existe-t-il un moyen d'optimiser la communication avec la base de données ? </p>