2011-04-12 2 views
1

현재 시스템마다 한 줄당 하나의 주석을 저장해야하는 테이블이 있습니다 (컨텐츠 유형이나 그 밖의 다른 요소가 아닌 한 개의 간단한 주석 하나씩). 행 및 기록 추적 없음). 코멘트 테이블을 생성하고 주석을 필요로하는 다른 모든 테이블에서 FK를 갖는 것이 어떤 장점이 있습니까?어떤 접근법이 더 낫습니다 - 각 테이블의 주석 속성 대 하나의 코멘트 테이블

실제 DB 측면에서 이점이 있습니까? 이러한 두 가지 접근 방식에 대한 데이터베이스 성능면에서?

답변

2

테스트하지 않고도 성능에 유의미한 코멘트 (기침)는 정말 불가능합니다. 당신은 합리적인 위치에있는 유일한 사람입니다.

논리 수준에서 행의 데이터에 대한 설명은 행과 함께 저장해야합니다.

일부 dbms는 넓은 열을 내부적으로 보조 저장 영역으로 이동합니다. 주석 열을 선택하지 않으면 (물리적 읽기 횟수가 적을 때) 행에 대한 액세스 속도가 빨라지지만 주석 열을 선택하면 (내부 데이터 구조의 다른 부분에서 읽음) 액세스 속도가 느려집니다. 수백만 행 중에서 수천 행을 선택하지 않으면 차이를 알 수 없습니다. (그러나 다시 테스트합니다 ...)

+0

댓글에 많은 감사를드립니다. –

2

별도의 테이블이 있고 조인을 사용하면 성능 문제가 될 수 있습니다. 동일한 주석이 여러 테이블에 적용되지 않는다면 별도로 지정할 필요가 없습니다.

+0

아니요, 동일한 주석은 여러 테이블에 적용되지 않습니다. 주석 길이가 몇 단어에서 수 백 줄까지 다양 할 수 있으므로 DB 튜닝 관점에서 이러한 모든 주석을 한 테이블에 포함하는 것이 이점이되지 않겠습니까 (예, 우리는 그러한 긴 코멘트가 있습니다). –

+0

이것은 또한 댓글 작성 방법에 따라 달라집니다. 성능면에서 단일 항목을 검색 할 때 같은 테이블에 두는 것이 가장 좋습니다. –

+0

답변 해 주신 Jon에게 감사드립니다. 나는 코멘트를 인라인하기로 결정했다. –

관련 문제