나는 약 400 억 -550 만 레코드의 테이블을 얻었다. 매일 약 4 백만 건의 인서트가 있습니다. 이 테이블에는 6 개의 외래 키 (사실 테이블 데이터웨어 하우스)가 있습니다.거대한 테이블에 인덱스를 사용하는 가장 좋은 방법
이제 비트 맵 결합 색인을 사용할 생각이었습니다. 하지만 필자가 읽은 것에서 볼 때 삽입물은 꽤 느려질 것입니다.
표가 자주 조회됩니다. 인덱스 전략이 어떻게 생겼는지 좋은 아이디어가 있습니까?
나는 약 400 억 -550 만 레코드의 테이블을 얻었다. 매일 약 4 백만 건의 인서트가 있습니다. 이 테이블에는 6 개의 외래 키 (사실 테이블 데이터웨어 하우스)가 있습니다.거대한 테이블에 인덱스를 사용하는 가장 좋은 방법
이제 비트 맵 결합 색인을 사용할 생각이었습니다. 하지만 필자가 읽은 것에서 볼 때 삽입물은 꽤 느려질 것입니다.
표가 자주 조회됩니다. 인덱스 전략이 어떻게 생겼는지 좋은 아이디어가 있습니까?
특정 열을 인덱싱하지 않으면 조건이있을 때마다 전체 테이블 (또는 파티션) 검색에 대한 대안이 없습니다. 그것은 아마도 인덱스를 관리하는 오버 헤드보다 시간이 지남에 따라 훨씬 더 많은로드입니다.
비트 맵 조인 인덱스가있는 삽입 물은 차원 테이블을 조회 할 필요가 있지만 큰 차원 테이블에서는 잠재적으로 비효율적입니다. 더 작은 테이블에 조인하는 열에 대해서만 첫 번째 단계로 비트 맵 조인 인덱스를 사용할 것을 고려할 수 있습니다.
색인에 대한 대안은 될 매우 큰 차원 테이블에 http://docs.oracle.com/cd/E11882_01/server.112/e25523/part_warehouse.htm#CHDHEBBA
내 기본 접근 방식을 결합의 효율성을 향상 또한 도움이된다 테이블, 파티션입니다 : 쿼리 성능에 대한
이외래 키가 너무 비싸고 떨어 뜨릴 시간이 될 수도 있습니다 ... 일명 이베이. 그런 다음 위반 사항을 확인할 수있는 일자리가 필요합니다.
사실 테이블은 실제로 이미 분할되어 있습니다 (매일 기준). 아픈 것 같아서 단계별로 시도해야합니다. – user2428207
사용자가 실행하는 쿼리의 유형입니다. 파티션 또는 여러 파티션에 있습니까? 더 중요한 것은 비트 맵 조인 인덱스 또는 더 빠른 쿼리 응답을 사용하여 삽입을 히트하는 것입니다. –