고객의 데이터베이스 중 하나에는 여러 다른 테이블의 유용한 정보를 요약하는 몇 가지 스냅 샷 테이블이 있습니다 (예 : 각 기간의 각 고객의 상태 등) .외부 키가있는 스냅 샷 테이블과 실제 값이있는 스냅 샷 테이블
그러나 스냅 숏 테이블은 대부분 원래 테이블에 외래 키를 포함합니다. 따라서 스냅 샷에 대한 유용한 정보를 얻으려면 해당 테이블에 여러 번 가입시켜야합니다. 그리고 이러한 조인은 종종 매우 오래 걸립니다. 반면에 데이터베이스에있는 모든 FL
열 (또는 최소한 쿼리의 WHERE
절에있는 열)에 인덱스를 추가하면 데이터베이스가 크게 느려집니다.
내 질문은 외래 키 대신 실제 값으로 스냅 샷 테이블을 갖는 것이 더 좋지 않겠는가? 그리고 대답이 부정적인 경우 원래 테이블이 업데이트되면 스냅 샷 테이블의 목적을 상회하지 않을 것입니다 (예 : '캔들'이라고 불리며 '램프'는 물론 스냅 샷이 일관성을 유지하지만 실제로이 스냅 샷입니다. 경우?)
스스로 질문하십시오 : 일부 항목이 삭제되면 어떻게됩니까? FK가 포함 된 스냅 샷은 더 이상 – lokusking
@lokusking이 아니게됩니다. 그렇다면 진정한 가치관을 갖는 것이 합리적이지 않습니까? – Disasterkid
이것은 의미가있는 유일한 것입니다. – lokusking