특정 기준을 충족하는 데이터를 강조 표시 할 표의보기를 만들려고합니다. 예를 들어 정수 값이있는 테이블이있는 경우 뷰에 100보다 큰 값이있는 행을 표시하고 싶습니다. 테이블에서 뷰를 생성하여이를 수행하는 방법을 알고 있지만 뷰는 동적입니까? 나는 이것을 MySQL에서 테스트했으며 사실 인 것처럼 보인다. 하지만 내 테이블에 1000 행 이상이있는 경우 이것이 효율적입니까? 뷰가 원본 테이블의 변경 사항에 대해 "동적으로"업데이트됩니까?MySql 뷰가 동적이고 효율적입니까?
19
A
답변
23
기본적으로 기본적으로 MySQL에는 2 types of views이 있습니다.
병합 조회수
기본적으로 그냥보기 이러한 유형의 뷰의 SQL로 쿼리를 다시는-기록합니다. 따라서 검색어를 직접 작성하는 것은 간단합니다. 실제 성능상의 이점은 없지만 복잡한 조회를 더 쉽게 작성하고 유지 보수를 더 쉽게 만들 수 있습니다 (보기 정의가 변경되면보기에 대해 하나의 정의 만 100 개의 조회를 변경할 필요가 없으므로).
TEMPTABLE 조회수
보기이 유형의 뷰의 SQL에서 쿼리와 임시 테이블을 생성합니다. 병합보기의 모든 이점을 갖지만 뷰의 테이블에 대한 잠금 시간도 줄어 듭니다. 따라서로드가 많은 서버에서는 성능이 상당히 향상 될 수 있습니다.
는
그러나주의하는 것이 중요한 일에주의한다는 것입니다 ... 또한의 MySQL의는 질의 시간에 최선의 유형이 어떻게 생각하는지 선택하자 "정의되지 않은"보기 유형 (기본값),있다 MySQL에는 materialized views에 대한 지원이 없습니다. 따라서 복잡한 뷰를 통해 쿼리 성능을 크게 높여주는 Oracle과는 다릅니다. 뷰의 쿼리는 항상 MySQL에서 실행됩니다.
효율면에서 MySQL의 뷰는 효율성을 높이거나 낮추지 않습니다. 쿼리를 작성하고 유지 관리 할 때 더 쉽게 사용할 수 있습니다. 나는 수억 개의 행을 가진 테이블에 뷰를 사용했고, 그들은 잘 작동했다 ...
9
mysql은 임시 테이블에서 인덱스를 사용하지 않으므로 성능에 심각한 영향을 미칠 수있다.
관련 문제
- 1. 동적이고 안전한 쿼리를 만드는 방법
- 2. MySQL 쿼리 뷰가 깨졌습니다. 어떻게 수정해야합니까?
- 3. MySQL, 뷰가 전체적으로 또는 세션/연결별로 있습니까?
- 4. mysql 데이터베이스에서 어떤 방법으로 권한을 저장하는 것이 더 효율적입니까?
- 5. 이진 검색은 일반적으로 효율적입니까?
- 6. 자바 스크립트는 얼마나 효율적입니까?
- 7. +가 concat보다 더 효율적입니까?
- 8. PHP의 substr은 얼마나 효율적입니까?
- 9. 외관 컨트롤러, 효율적입니까?
- 10. IFrame은 얼마나 효율적입니까?
- 11. C의 구조체는 효율적입니까?
- 12. .net에서 string.Empty가 ""보다 효율적입니까?
- 13. 이 채팅 스크립트는 효율적입니까?
- 14. 세부 테이블이 얼마나 효율적입니까?
- 15. java.util.regexp는 충분히 효율적입니까?
- 16. 잠금 코드가 효율적입니까?
- 17. encodeURIComponent는 얼마나 효율적입니까?
- 18. Bitnami 스택이 효율적입니까?
- 19. 하위 뷰가 IB
- 20. 테이블 뷰가 응답하지 않습니다.
- 21. IPHONE : 뷰가 수퍼
- 22. 풍부한 트리 뷰가 있음
- 23. 로드하기 전에 뷰가 제거되었습니다.
- 24. PHP에서 printf는 변수 보간보다 효율적입니까?
- 25. varchar 2는 varchar 255보다 효율적입니까?
- 26. 평균적으로 스크립팅 엔진은 얼마나 효율적입니까?
- 27. Android - 어느 쪽이 더 효율적입니까?
- 28. 이 방법이 테이블 뷰에 효율적입니까?
- 29. 두 텍스처의 출력은 얼마나 효율적입니까?
- 30. MongoDB는보고 스타일 쿼리가있는 RDBMS만큼 효율적입니까?
http://stackoverflow.com/q/7922675/632951 – Pacerier