에 대한 저장 프로 시저,가 (적어도) 세 가지 접근 방법 : 저장 프로 시저를 통해장점과 트리거의 단점 비교는 성능을 위해 트랜잭션 데이터베이스에서 데이터를 비정규 오는 비정규
푸시 업데이트하는 정규화 된 트랜잭션 데이터 및 비정규 화 된보고/분석 데이터를 업데이트한다.
보조 테이블을 업데이트하는 트랜잭션 테이블에 트리거를 구현합니다. 이것은 거의 항상 역사를 유지할 때 취한 경로입니다.
야간 배치 프로세스로 처리를 지연 시키거나, 데이터 마트 /웨어 하우스로 ETL을 수행 할 수 있습니다.
저는 처음 두 가지 접근법을 모두 사용했는데 요즘에는 트리거 기반 접근 방식으로 기울여 왔습니다. 그러나 아직 발견하지 못한 "gotchas"가 있는지 궁금합니다. 미래에 장기적인 결정을 할 때 명심해야 할 몇 가지 아이디어를 얻을 수 있도록이 질문에 답할 가치가 있다고 생각했습니다.
여러분의 경험에 비추어 볼 때, 실시간 비정규 화 된 데이터를 유지 관리하는 특정 목적을위한 두 도구의 장단점은 무엇입니까? 어떤 상황에서 다른 것을 선택합니까? 그 이유는 무엇입니까?
(PS하십시오 "항상 저장된 프로 시저를 통해 가야 모든 업데이트가" "트리거가 너무 복잡하다"나처럼 아무 대답없는 - 질문의 맥락에 적절합니다.)
은 비정규 화에 대한 구체화 된보기를 사용하는 것이 더 좋지 않습니까? – Enrique
@ Enrique : 구체화 된보기는 불가사의 한 만병 통치약이 아닙니다. 실제로 구현할 수없는 모든 종류의 뷰가 있으며 (심지어 스키마 바인딩을 사용하여 만들 수도 있습니다), 가능한 경우에도 트리거와 거의 동일한 성능 특성을 갖습니다. – Aaronaught