API에서 SQL 트랜잭션 최적화
<p>최근에 취업 면접을 봤는데 약간의 숙제가 생겼습니다. 그런 다음 업데이트 엔드포인트에 불필요한 쿼리와 트랜잭션 조합이 있다는 피드백을 받았습니다. </p>
<pre class="brush:php;toolbar:false;">export const update = async (req: 요청, res: 응답, next: NextFunction) =>
노력하다 {
const reportId = parsInt(req.params.id)
const { 이름, 나이, 정보 } = req.body
const 보고서 = ReportModel.findOne({
어디: {
id: 보고서 ID
}
})
if (!report) return next(new EntityNotExistError("보고서가 존재하지 않습니다"))
ReportModel.update({
이름,
나이,
정보
}, {
어디: {
id: 보고서 ID
}
})
const _report = ReportModel.findOne({
어디: {
id: 보고서 ID
}
})
res.json({
메시지: "보고서가 성공적으로 편집되었습니다.",
보고: _report
})
} 잡기(오류) {
다음 반환(오류)
}
}</pre>
<p>보시다시피 첫 번째 쿼리에서는 항목이 존재하는지 확인한 다음 해당 항목에 대해 업데이트를 수행하고 마지막 쿼리에서는 업데이트된 항목을 반환합니다.
데이터베이스와의 통신을 최적화할 수 있는 방법이 있습니까? </p>