2012-05-15 8 views
0

나는 6000 개 이상의 항목 ([ID, 이름, 색상, 크기 등]) 항목이 있습니다. 그리고 나는 그것이 10000 개까지 도달 할 수 있다고 생각합니다. 해당 테이블에서 기본적으로, 잘, 항목에 대한 정보입니다. 나는 또한 5 개의 상수 저장고의 테이블과 0에서 7 개의 임시 창고 테이블을 가지고있다. 이러한 테이블은 다음과 같습니다 (id, item_id, quantity). 나는 하나의 테이블 (id, item_id, quantity, storehouse_id)에 해당 창고를 결합하여 해당 데이터베이스를 정규화하려고했습니다. 이로 인해 셀프 조인을 사용하는 모든 창고에서 여러 항목을 검색 할 때 검색 속도가 매우 느려졌습니다. 그런 다음 새로 만든 데이터베이스 (ID, 이름, 색상, 크기 등, storehouse1_quantity, storehouse2_quantity 등)와 항목을 결합하기로 결정했습니다. 이로 인해 모든 요청에 ​​대해 쿼리가 0.1 초 미만이되었습니다. 그러나 이제 데이터베이스는 매우 비정규 화되었습니다. 창고에는 2000 개가 넘지 않는 품목이 있으며 대개 500 개 미만입니다. 더 좋은 방법이 없다면 저도 함께 살 수 있습니다. 어디서 데이터베이스를보다 논리적이고 쉽게 유지할 수 있는지에 대해서는 잘 모릅니다. 도움을 주시면 감사하겠습니다. 미리 감사드립니다!Mysql 큰 테이블 대 조인

답변

1

정규화 접근법은 "올바른"방법이며 DB 엔진은이를 처리하기 위해 작성되었으므로 색인 배열이 무엇인지 살펴보기 시작합니다. 룩업/조인이 많으면 일반적으로 인덱스가 있어야 MySQL이 모든 텍스트를 뒤집어 쓰지 않아도됩니다.

+0

테이블의 모든 필드는 검색을 통해 인덱싱됩니다. 그 검색은 테이블을 통해 동일한 루프를 여러 번 반복하여 창고가 있고 항목 테이블에 다시 여러 번 연결하는 것입니다. – Hander

+0

이 데이터를 저장하는 방법을 살펴볼 수만 있습니다 ... 그게 어렵다면 어딘가에 요약 정보를위한 디자인 조정이 필요할 수도 있습니다. – GDP