데이터베이스를 디자인하고 있는데 데이터베이스를 표준화하고 싶습니다. 한 가지 질문으로 나는 약 30-40 개의 테이블을 합칠 것입니다. 웹 사이트 성능이 극단적으로 인기를 얻으면 이런 결과가 나쁠까요? 이것은 메인 쿼리가 될 것이며 그것은 시간의 50 %라고합니다. 다른 쿼리는 약 두 개의 테이블을 결합합니다.정규화로 트래픽이 많은 사이트의 성능이 실제로 저하됩니까?
정상화하거나 정상화하지 않도록 선택할 수 있습니다. 그러나 정상화가 앞으로 문제가 될 경우 소프트웨어의 40 %를 다시 작성해야 할 수 있으며 오랜 시간이 걸릴 수 있습니다. 이 경우 정규화가 실제로 상처를 받습니까? 시간이있는 동안 지금은 비정규 화해야합니까?
엄청난 양의 코드 재 작성 (사용자 코드의 40 %) 위험을 감수하지 않아도됩니다. 정규화를 시작했지만 대부분의 코드에 필요한 추상화를 제공하기 위해 뷰를 사용하는 경우 ... 뷰가 추상화 계층으로 제공해야하는 스키마로 비정규 화해야하는 경우 대부분의 코드 변경 사항을 제거해야합니다. –
비정규 화 테이블을 업데이트해야 할 때 오버 헤드 (작업량 측면에서)를 고려해야합니다. 클라이언트 주소를 변경하면 한 자리에서 변경하는 대신 비정규 화 된 테이블의 모든 행을 스캔하여 변경해야합니다 그것. 어쩌면보기가 가장 좋은 옵션 일 수 있으며, 너무 느린 경우 더 많은 하드웨어 리소스를 데이터베이스에 할당하십시오. – slugster
저는 왜 30-40 개의 테이블이 필요한지 그리고 왜 이들을 합쳐야하는지 알고 싶습니다. 이것은 나에게 맞는 것 같지 않으므로 테이블이 무엇을하고 있는지 설명해 주시기 바랍니다. –