2012-12-13 3 views
0

많은 테이블이있는 데이터베이스가 있습니다. 이 데이터베이스에는 유사한 (그러나 구별되는) 데이터 행에 대한 정보를 저장하는 테이블 서브 세트와 각 테이블에 적용 할 수있는 공통 검색 속성을 포함하는 테이블이 있습니다.MySQL 데이터베이스의 검색 속성 테이블에 대한 인덱스 설정

검색 가능한 변수는 18 열이며 색인을 설정하는 가장 좋은 방법은 무엇인지 모르겠습니다. 모든 해당 열에 대해 Index 하나를 만들거나 각각에 대해 하나씩 Index을 만듭니다.

+1

유 SOLR처럼 검색 인덱스 엔진을 사용, 그리고 MySQL을 –

+0

@ItayMoav 아닌 옵션 인 고려합니다. 내 서버가 아니기 때문에 그렇게 멋진 것은 할 수 없다 :( – topherg

답변

0

SOLR 또는 그 유사 물을 사용할 수 없습니다.
MySQL을 사용하여 이것을 에뮬레이션해야합니다.
이렇게하려면 다른 모든 테이블을 de-normalize하는 하나의 테이블을 만듭니다. 주의하십시오.이 표는 다른 표를 대체하지 않습니다. VIEW처럼 생각해보십시오.
간단한 예입니다. 나는 제품을 가지고 있으며 그 제품은 여러 가지 색상 코드로 제공 될 수 있습니다.
정규화를 사용하려면 3 개의 테이블이 있어야합니다. 하나는 제품, 하나는 색상 (이름 | 코드) 및 하나의 테이블을 모두 연결하는 것입니다.

하나의 테이블로 역 정규화 : 제품 코드 (pk) | 이름 | 색상 코드 1 | 색상 이름 1 | 컬러 코드 2 | 색상 이름 2 ..... 아니 난 정말 당신이 그 테이블에서 수행하는 쿼리를 기반으로 색인을 생성 할 것을 결정하는 것이 쉬울 것이라고 믿습니다.

분명히 최적은 아니지만, 가지고있는 장난감을 가지고 놀 필요가 있습니다. 다른

뭔가 슬프게 매우 유사한 사용하는 스타 스키마

관련 문제