나름 검색을 해봤는데 검색실력이 모자른지 찾을수가 없어서 질문 드립니다.
일정시간마다 db를 업데이트 하는 함수가 있는데 이때 한번에 여러가지 로직을 처리 하면서 db에 업데이트나 삽입, 삭제를 합니다.
근데 작업을 하다 보니 의문점이 생겨서 다른분들은 어떻게 작업하셨는지 궁금합니다.
예를 들면 일정시간마다 회원의 여러가지 정보와 상태 장바구니 등등을 업데이트 할때
프로시저를 나누어서 A 테이블 관련 업데이트 삭제 인서트
B 테이블 관련 업데이트 삭제 인서트
이런식으로 작업하는 테이블마다 프로시저를 만들어서 어플리케이션에서 각각 여러번 프로시저를 호출하는게 나은지
아니면 프로지서 하나에서 A,B,C,D,E,F 다중테이블을 한번에 업데이트 삭제 인서트 하는게 나을지 궁금합니다.
각각 호출하면 테이블 10개면 10번 프로시저 호출하여 호출비용이 많이 들거같고
한번 호출에 10개테이블을 업데이트 하면 여러테이블을 오래 잡고 잇을거같고 너무 고민입니다.
미리 답변 감사드립니다~
작업의 연관성을 생각하시면 됩니다.
각각의 작업이 독립적인 작업이라면 각각 만드시면 되고
각각의 작업이 상호 관련이 있으면 하나로 만드셔야 합니다.
답변 감사드립니다 ㅎㅎ 작업에 상호 관련이 있어서 한번에 업데이트 하고 싶은데
동시에 10개 테이블정도를 트랜잭션 걸고 작업하면 퍼포먼스나 그런 문제가 생길까봐
나눌까 합칠까 고민이였는데 퍼포먼스보단 연관성이 중요한가 보네요