우리는 몇 가지 테이블을 가지고 있습니다. 대부분의 쿼리는 조인을 몇 개만 사용합니다. 즉, 거의 모든 쿼리가 사용하는 2-3 조인과 같은 것이 있습니다. 테이블이 커지면이 일반적인 조인의 속도를 높이는 가장 일반적인 방법은 무엇입니까? 우리는 SQL Server 또는 Oracle을 사용하고자합니다. 데이터 Denonormalise 소수 테이블의 일반적인 조인
답변
가장 일반적인 방법은 인덱싱이지만 더 구체적인 정보는 제공하지 않습니다.
는 여기에 몇 가지 시나리오입니다 :
(1) 이러한 사실 테이블로 중앙 테이블에 연결된 참조 테이블의 무리가 있습니다.
이 경우 참조 테이블에 자동 증가 기본 키를 정의하려고합니다. 이 기능은 자동으로 색인으로 작동합니다.
(2) 귀하의 질의는 당신이 어디에 절에있는 필드에 인덱스를 집중하고 싶어요,이 경우
매우 선택적이다. 두 번째 테이블이 매우 작을 때 특히 그렇습니다. 순차 검색은 인덱스 검색과 비슷합니다.
(3) 귀하의 조인 된 테이블 정말이 경우 성능 병목
, 당신은 테이블이나 인스턴스화보기로 중, 조인의 결과를 인스턴스화 할 수 있습니다. 이것은 조인 기준에서 데이터 범위를 사용하는 것과 같이 조인 기준이 복잡 할 때 필요할 수 있습니다.
(4) 데이터 파티셔닝과 같은 다른 옵션도 있습니다.
일부 옵션
- 레이 인덱스는 인덱스를 확인 = 가장 큰 승리
- SQL Server의 인덱싱 된 뷰 또는 Oracle의 구체화 된 뷰를 사용하십시오.
- 쿼리를 제공했는지 확인하십시오 최적화 프로그램은 최적의 조인 전략 (해시/병합/루프)을 사용하도록 얻을 수있는 최상의 통계를 제공합니다.
구체화 된보기 - 오라클은 이들을 지원하며, 경우에 따라서는 유용합니다. 쓰기와 반대되는 읽기가 많을 때 : http://docs.oracle.com/cd/B10501_01/server.920/a96520/mv.htm
indicies - 쿼리 계획을 분석/설명하고 색인 추가가 도움이되는지 확인하십시오. 매우 자주 다른 쿼리에 대한 표시를 사용하여 속도를 향상시킬 수 있습니다. 힌트를 제공하여 쿼리 파서에 특정 쿼리에 사용할 인덱스를 알릴 수도 있습니다.
비정규 화 - 비정규 화 -이 테이블의 데이터 중 일부를 가져 와서 관련 테이블에 저장하는 대신 비정규 화합니다.
캐싱 - 쿼리 캐시의 크기를 늘리거나 앱에 캐싱 계층을 생성합니다.
- 1. mySQL 테이블의 다중 조인
- 2. 조인 테이블의 필드 업데이트
- 3. 3 테이블의 외부 조인
- 4. 두 테이블의 조인 조건?
- 5. 동일한 테이블의 외부 조인
- 6. 2 테이블의 데이터 조인
- 7. 조인 테이블의 MySQL 인덱스
- 8. 조인 테이블의 마지막 레코드
- 9. 조인 테이블에 항목이없는 조인 된 테이블의 데이터
- 10. 조인 테이블의 한 면만 저장됩니까?
- 11. HABTM 조인 테이블의 추가 필드
- 12. ActiveRecord. 조인 테이블의 데이터 포함
- 13. 조인 된 테이블의 필드 결합
- 14. MySQL은 : 조인 된 테이블의 NULL입니다
- 15. 조인 된 외부 조인에 대한 조인 된 테이블의 조건으로 EF에서
- 16. 조인 된 테이블의 여러 행으로 조인 된 쿼리를 정렬하는 중
- 17. 레일에서 조인 된 테이블의 모델을 사용하여 왼쪽 외부 조인
- 18. 왼쪽 조인 사용 및 조인 된 테이블의 다른 필드
- 19. 소수
- 20. 레일에서 HABTM 조인 테이블의 항목을 삭제하려면 어떻게해야합니까?
- 21. 조인 된 테이블의 열이없는 Zend_Db와 결합
- 22. SQL : 조인 된 테이블의 ID를 문자열로 집계
- 23. 조인되지 않은 조인 된 테이블의 데이터
- 24. 여러 테이블의 다중 조인 논리에 혼동이 있음
- 25. 동일한 테이블의 중첩 된 조인 (트리 구조)
- 26. 조건을 조인 된 테이블의 해시로 사용하기
- 27. 조인 된 테이블의 여러 레코드 합계?
- 28. 왼쪽 테이블의 값을 사용하여 두 테이블 조인
- 29. LINQ OrderBy 조인 된 테이블의 레코드 수
- 30. MySQL에서 두 테이블의 결과 조인 및 정렬
색인 생성에 대해 생각하십시오. –
잠깐, SQL Server 또는 Oracle에서 느린 몇 가지 쿼리가 있습니까? –
@Aaron 네, 그게 그렇게 빠르지 않습니다, 왜? – Cartesius00