복붙노트

[SQL] 때 대신 테이블의보기를 사용하려면?

SQL

때 대신 테이블의보기를 사용하려면?

때보기 실제로 실제 표를 통해 사용되어야 하는가? 어떤 이익 나는이 생산에 기대해야합니까?

전반적으로, 테이블 위에 뷰를 사용할 때의 장점은 무엇입니까? 나는보기가 처음부터 같이한다 방법으로 테이블을 설계하지 않나요?

해결법

  1. ==============================

    1.오 당신이 고려해야 할 필요가 많은 차이가있다

    오 당신이 고려해야 할 필요가 많은 차이가있다

    선택 조회수 :

    삽입 / 업데이트 조회수 :

    단점

  2. ==============================

    2.조회 수 :

    조회 수 :

    그리고 당신은 의견을 일치하도록 테이블을 설계해서는 안된다. 귀하의 기본 모델은 효율적인 스토리지 및 데이터의 검색 자체를 우려해야한다. 뷰는 부분적 도구입니다 완화시킨다 그 복잡성 추상적 인 당신을 허용함으로써 효율적이고 표준화 모델에서 발생하는 복잡성.

    또한, "테이블을 통해 뷰를 사용할 때의 장점이 무엇인지?"를 묻는 좋은 비교하지 않습니다. 당신은 테이블없이 갈 수 없어,하지만 당신은보기없이 할 수 있습니다. 그들은 각각 매우 다른 이유가 존재한다. 테이블 구체적인 모델이며, 뷰는 추상화 잘보기입니다.

  3. ==============================

    3.복잡한 논리 때마다 다음에 있는지 확인해야 할 때 뷰는 허용됩니다. 예를 들어, 우리는 모든 재무보고에 필요한 원시 데이터를 생성하는 볼 수 있습니다. 모든 보고서는이보기를 사용함으로써, 모두가 아니라 하나 개의 조인 세트와 다른 결과를 제공 하나를 사용하는 또 다른 망각을 사용하여 하나 개의 보고서보다 동일한 데이터 세트에서 노력하고 있습니다.

    복잡한 논리 때마다 다음에 있는지 확인해야 할 때 뷰는 허용됩니다. 예를 들어, 우리는 모든 재무보고에 필요한 원시 데이터를 생성하는 볼 수 있습니다. 모든 보고서는이보기를 사용함으로써, 모두가 아니라 하나 개의 조인 세트와 다른 결과를 제공 하나를 사용하는 또 다른 망각을 사용하여 하나 개의 보고서보다 동일한 데이터 세트에서 노력하고 있습니다.

    당신은 데이터의 특정 부분 집합에 사용자를 제한 할 때 조회수가 허용됩니다. 당신이 삭제되지 기록을 만 활성으로 현재와 비활성으로 이전 버전을 표시하는 경우 예를 들어, 당신은보기 만 활성 레코드를 선택하는 데 사용할. 망각의이 방지 사람들은 쿼리에서 나쁜 결과를 얻는 where 절을 넣어.

    뷰는 사용자가 레코드 만 세트에 액세스 할 수 있도록하는 데 사용할 수 있습니다 - 예를 들어, 특정 클라이언트에 대한 테이블과 테이블에 아무런 보안 권한의 전망은 해당 클라이언트 사용자가 오직 데이터를 볼 수 있다는 것을 의미 할 수있다 해당 클라이언트.

    데이터베이스를 리팩토링 할 때 뷰는 매우 도움이됩니다.

    당신이 (SQL Server의 최소) 끔찍한 성능이 저하 될 수있는 뷰를 호출하는 뷰를 사용하면 뷰는 허용되지 않습니다. 누군가가 방법과 성능이 끔찍한이고 시간 제한이 자주 있다고 추상적 인 데이터베이스로 선택했기 때문에 우리는 거의 수백만 달러 클라이언트를 잃었다. 성능 문제가 완전히 우리의 잘못과 같이 우리는 너무 수정이 아닌 클라이언트에 대해 지불해야했다. 뷰는 뷰를 호출 할 때, 그들은 완전히 기본 뷰를 생성 할 수 있습니다. 뷰는 뷰라는 및 기록의 많은 수백만 사용자가 궁극적으로 필요한 세 가지를보기 위해 생성 된 뷰라는 곳 나는 이것을 보았다. 나는이보기 중 하나는 기록의 간단한 COUNT (*)를 할 8 분이 걸렸다 기억한다. 뷰를 호출 뷰는 매우 빈약 한 아이디어입니다.

    조회수는 종종 보통은 같은 테이블에서 필드를 업데이트 할 수있는 업데이트 기록에 사용하는 나쁜 생각이다 (다시는 SQL 서버가 다른 데이터베이스는 다를 수 있음). 그런 경우, 그것은 직접 어쨌든 그래서 당신은 필드를 사용할 수있는 알고있는 테이블을 업데이트 할 수 더 의미가 있습니다.

  4. ==============================

    4.여러 테이블에서 선택, 아니면 그냥 테이블의 부분 집합을 얻을 필요가있을 때 뷰 편리합니다.

    여러 테이블에서 선택, 아니면 그냥 테이블의 부분 집합을 얻을 필요가있을 때 뷰 편리합니다.

    당신은 당신의 데이터베이스가 아니라 (최소 중복을) 정상화되는 것과 같은 방식으로 테이블을 설계해야합니다. 이것은 다소 어려운 조회 할 수 있습니다.

    뷰는 당신은 그들이 저장되는 다르게 테이블의 데이터를 볼 수 있도록 분리의 비트입니다.

  5. ==============================

    5.숨기기는 사용자에게보다 비정규 데이터 모델을 제시하는 뷰에 조인하는 것이 일반적이다. 다른 용도 또는 성능이 (특정 열 및 / 또는 행을 숨겨서 예) 보안 관련 (구체화 뷰의 경우)

    숨기기는 사용자에게보다 비정규 데이터 모델을 제시하는 뷰에 조인하는 것이 일반적이다. 다른 용도 또는 성능이 (특정 열 및 / 또는 행을 숨겨서 예) 보안 관련 (구체화 뷰의 경우)

  6. ==============================

    6.당신의 의견을 고려하지 않고 테이블을 설계해야합니다. 별도로 저장에서 조인 조건은 뷰 성능상의 이점이 수행 SQL Server를 계산하고보기에 그것의 실행 계획을 저장, 따라서 빠른 SQL 문 "즉시"보다는 그것을 만들 수 있습니다. 보기는 필드 레벨에서 사용자 액세스에 대한 작업을 쉽게 할 수 있습니다.

    당신의 의견을 고려하지 않고 테이블을 설계해야합니다. 별도로 저장에서 조인 조건은 뷰 성능상의 이점이 수행 SQL Server를 계산하고보기에 그것의 실행 계획을 저장, 따라서 빠른 SQL 문 "즉시"보다는 그것을 만들 수 있습니다. 보기는 필드 레벨에서 사용자 액세스에 대한 작업을 쉽게 할 수 있습니다.

  7. ==============================

    7.이름으로 우선은보기 불변 제안합니다. 그게보기가 DB에 저장된 조회에서 만든 가상 테이블 이외의 아무것도 없기 때문입니다. 이 때문에 당신은 전망의 몇 가지 특성을 가지고 :

    이름으로 우선은보기 불변 제안합니다. 그게보기가 DB에 저장된 조회에서 만든 가상 테이블 이외의 아무것도 없기 때문입니다. 이 때문에 당신은 전망의 몇 가지 특성을 가지고 :

    그래서 그냥 단지 웹 사이트에 활성 사용자 표시에 대한 생각, 전망이 좋은 테이블보다 장착되어있는 사용 사례의 gazillion있다. 당신이 실제로 DB (활성 및 비활성 사용자)에있는 데이터의 하위 집합에서만 작동하기 때문에보기가 더 좋을 것이다

    이 문서를 체크 아웃

    희망이 도움이 ..

  8. ==============================

    8.위키 백과에 따르면,

    위키 백과에 따르면,

  9. from https://stackoverflow.com/questions/4378068/when-to-use-a-view-instead-of-a-table by cc-by-sa and MIT license