본문 바로가기
MySql

MySQL 플랫 테이블이나 정규화 된 데이터베이스를 사용해야합니까?

by 베이스 공부 2020. 10. 26.
반응형

백엔드 용 MySQL 데이터베이스를 사용하는 현재 작업중인 웹 애플리케이션이 있으며, 계속 진행하기 전에 내 상황에 더 나은 것이 무엇인지 알아야합니다.

간단히 말해서,이 애플리케이션에서 사용자는 임의의 숫자 필드 (자신이 결정)를 사용하여 자신의 양식을 구성 할 수 있으며 지금은 외래 키로 연결된 두 개의 테이블에 모두 저장되어 있습니다. 내 친구가 "쉬운 / 빠른"일을 유지하려면 각 사용자의 양식을 플랫 테이블로 변환하여 데이터 쿼리가 빠르게 유지되도록 (큰 성장의 경우) 제안합니다.

외래 키 (인덱스 등)가있는 관계형 테이블에 모든 것을 풀링하여 데이터베이스를 정규화해야합니까? 아니면 사용자가 생성하는 모든 새 양식에 대해 플랫 테이블을 구성해야합니까?

분명히 플랫 테이블을 만드는 데있어 몇 가지 장점은 데이터 분리 (보안)이며 쿼리 속도가 감소한다는 것입니다. 그러나 진지하게 이것으로부터 얼마나 많은 이득을 얻을 수 있습니까? 나는 정말로 10000 개의 테이블을 삭제하고, 변경하고, 추가하는 것을 원하지 않는다. 그러나 그것이 내가하는 것보다 더 낫다면 ... 나는 단지 약간의 입력이 필요하다.

감사합니다

 

해결 방법

 

경험의 법칙. 다른 방법보다 정규화에서 비정규 화로 이동하는 것이 더 쉽습니다.

합리적인 수준의 데이터베이스 정규화 (합리적으로 읽기, 유지 관리 가능, 효율적이지만 조기에 최적화되지 않음을 의미 함)로 시작한 다음 성장함에 따라 성능 문제가 발생하면 비정규 화가 성능을 향상시킬 수있는 방법을 찾을 수있는 옵션이 있습니다.

 

참조 페이지 https://stackoverflow.com/questions/4328022

 

 

반응형

댓글