더 많은 데이터베이스 성능에 영향을 미칩니 까? 하나의 필터 단 테이블 이상의 레코드 배 긴 테이블을 조회하는 두 열데이터베이스 영향 : 하나의 열에 필터가있는 레코드를 두 번 사용하여 두 개의 열 또는 행에 필터가있는 테이블 쿼리?
또는
필터링 짧은 테이블 (20 억 개 레코드 말한다)를 쿼리
기둥?
나는 사람들과 다른 친구/사람의 관계에 대한 간단한 비 감독, 연결 그래프를 가지고 :
어떤 컨텍스트를 제공합니다. BI 최종 사용자는 "사람"을 검색 한 다음 사실 테이블을 사용하여 모든 관련 사용자/친구를 식별하려고합니다.
그래프의 정보를 저장하기 위해 팩트 테이블 (스타 스키마)을 작성 중입니다. 내 사실 테이블의 그레인은 Date와 Person 차원에서 지원되는 단일 관계 (직접 관계)입니다. 관심있는 사람은 Node_1_person 또는 Node_2_Person 열에있을 수 있습니다.테이블 정의 :
RELATIONSHIP FACT TABLE (~40 Million Rows) Relationship_ID Node_1_person Node_2_Person Relationship_Strength_Score Relationship_Counter Relationship_Created_Date Person_Dimension (~20 Million Rows) Person_Surrogate_Key Person_Natural_key Person_Name Person_Address Person_Email
내가 요구 사항을 용이하게하기 위해 두 가지 옵션이 있습니다
옵션 # 1 : 나는 관계의 상호을 저장을하므로 최종 사용자가 하나를 검색 할 수 있습니다 열을 클릭하여 관계를 찾습니다.
옵션 # 2 : 상호 관계를 피한 다음 최종 사용자는 Node_1_person 및 Node_2_Person 열을 조사해야합니다.어느 옵션이 데이터베이스에 더 많은 성능 영향을 미치는지 확실하지 않습니다.
DB 환경에 액세스 할 수 없습니다. 옵션 # 1 (상호)과 옵션 # 2 (비 상호)를 모두 가지고 있기 때문에 모델 및 내 결정을 정당화하기 위해 쿼리 성능과 관련하여 장단점을 알아야합니다. – user2600421
하지만 당신이하는 사람들에게 접근하고 협력 할 수 있다고 상상해보십시오. 왜 2 쿼리를 준비하고 테스트를 설정하지? 테스트 할 수 없다면 성능 문제로 비난 받아서는 안됩니다. – wasted