복붙노트

[SQL] 대 저장 프로 시저 견해

SQL

대 저장 프로 시저 견해

나는 모두를 사용하지만 다른 이상을 선호해야 할 때 내가 분명하지 않다 것은있다. 내가 저장 프로 시저 매개 변수에 걸릴 수있어 ...하지만 정말 우리가 아직 너무 잘 뷰를 사용하여 같은 일을 수행 할 수있는 말은?

왜 내가 다른 이상을 선호한다 그래서 성능과 다른 측면을 고려?

해결법

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

    1.글쎄, 난 더 나은 코드 및 제어 권한의 캡슐화를 위해 저장된 프로 시저를 사용하십시오.

    글쎄, 난 더 나은 코드 및 제어 권한의 캡슐화를 위해 저장된 프로 시저를 사용하십시오.

    뷰는 정말 캡슐화되지 않습니다 : 그것은 팽창하는 매크로입니다. 당신이 곧 뷰에 가입 시작하면 당신은 어떤 끔찍한 쿼리를해야합니다. 예 그들은 가입 할 수 있지만 안 ..

    그 말하는, 뷰는 저장 발동 같은 자신의 위치 (예를 들어 인덱싱 된 뷰)가 도구이다.

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

    2.뷰의 장점은 단지 테이블처럼 취급 될 수 있다는 것이다. 그들로부터 데이터를 필터링 구할 수있는 곳은 당신이 사용할 수있는, 등등 그들에 가입하세요. 당신이 경우에도 그들이있는 거 간단한의 충분한 그들에 데이터를 삽입 할 수 있습니다. 뷰는 또한 저장 프로 시저와는 달리 인덱스 결과를, 할 수 있습니다.

    뷰의 장점은 단지 테이블처럼 취급 될 수 있다는 것이다. 그들로부터 데이터를 필터링 구할 수있는 곳은 당신이 사용할 수있는, 등등 그들에 가입하세요. 당신이 경우에도 그들이있는 거 간단한의 충분한 그들에 데이터를 삽입 할 수 있습니다. 뷰는 또한 저장 프로 시저와는 달리 인덱스 결과를, 할 수 있습니다.

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

    3.뷰는 단지 하나의 저장된 쿼리 문처럼, 그것은 복잡한 논리 또는 (노동 조합 등의 사용을 넘어) 여러 문을 포함 할 수있다. 매개 변수를 통해 복잡한 아무것도 또는 사용자 정의를 위해 당신은 훨씬 더 큰 유연성을 허용 저장 프로 시저를 선택합니다.

    뷰는 단지 하나의 저장된 쿼리 문처럼, 그것은 복잡한 논리 또는 (노동 조합 등의 사용을 넘어) 여러 문을 포함 할 수있다. 매개 변수를 통해 복잡한 아무것도 또는 사용자 정의를 위해 당신은 훨씬 더 큰 유연성을 허용 저장 프로 시저를 선택합니다.

    그것은 아마도 매우 다른 이유로 데이터베이스 아키텍처 뷰 및 저장 프로 시저의 조합을 사용하는 것이 일반적이다. 때로는 스키마가 재 설계 될 때 때때로 테이블 (드 정규화 뷰)에 기본적으로 저장된 방식과 비교하여 데이터를보다 조작 될 수 있도록, sprocs가에서 이전 버전과의 호환성을 달성 할 수있다.

    더 어렵다으로 SQL 서버는 이러한 쿼리를 최적화하는 조회수를 많이 사용하면 성능이 저하 될 수 있습니다. 그러나 색인 테이블과 같은 방법으로 조인 작업을 할 때 실제로 성능을 향상시킬 수, 인덱스 뷰를 사용하는 것이 가능하다. 인덱스-전망과 실제로는 SQL 서버의 버전에 따라 작업 점점 미묘 많이 구현할 때 훨씬 엄격한 제한이 허용되는 구문이 있습니다.

    더 저장 프로 시저 이상의 테이블처럼 것으로 조회수 생각.

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

    4.저장 프로 시저의 주요 장점은 법인 (法人) 로직 (스크립트)에 당신을 허용한다는 것입니다. 이 로직은 단순하게 할 수있는 등의 DO WHILE 루프 SWITCH / CASE 같은 IF / ELSE 이상의 복합체.

    저장 프로 시저의 주요 장점은 법인 (法人) 로직 (스크립트)에 당신을 허용한다는 것입니다. 이 로직은 단순하게 할 수있는 등의 DO WHILE 루프 SWITCH / CASE 같은 IF / ELSE 이상의 복합체.

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

    5.나는과 데이터베이스에서 트랜잭션을 송신 / 수신의 필요성에 저장 프로 시저의 사용의 상관 관계. 그게 내가 내 데이터베이스에 데이터를 전송해야 할 때마다, 내가 저장 프로 시저를 사용합니다. 내가 업데이트 데이터 또는 정보 내 응용 프로그램에서 사용하기위한 쿼리를 데이터베이스로 할 때 마찬가지입니다.

    나는과 데이터베이스에서 트랜잭션을 송신 / 수신의 필요성에 저장 프로 시저의 사용의 상관 관계. 그게 내가 내 데이터베이스에 데이터를 전송해야 할 때마다, 내가 저장 프로 시저를 사용합니다. 내가 업데이트 데이터 또는 정보 내 응용 프로그램에서 사용하기위한 쿼리를 데이터베이스로 할 때 마찬가지입니다.

    주어진 테이블에서 필드의 하위 집합을 제공하려는 경우 데이터베이스 뷰는, 당신의 MS Access 사용자가 수정의 위험없이 데이터를보고, 보고서는 anticpated 결과를 생성하려고 보장 할 수 있도록 사용하기 아주 좋습니다.

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

    6.테이블의 특정 조합, 또는 지속적으로 조회 할 데이터의 하위 집합, 예를 들어, 사용자의 권한으로 합류가있는 경우 조회수 유용합니다. 뷰는 실제로 테이블로서 취급 할 필요가 있습니다.

    테이블의 특정 조합, 또는 지속적으로 조회 할 데이터의 하위 집합, 예를 들어, 사용자의 권한으로 합류가있는 경우 조회수 유용합니다. 뷰는 실제로 테이블로서 취급 할 필요가 있습니다.

    이 경우, 임의의 다른 쿼리보다 더 많은 최적의 실행으로 저장 프로 시저, '컴파일'하는 SQL 코드의 조각이다. 실행이 일반 SQL 문보다 약간 부드럽게 실행되도록 저장 프로 시저의 SQL 코드의 실행 계획이 이미 내장되어 있습니다.

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

    7.두 근거.

    두 근거.

    당신은 삽입이 가능하지 않으려면 대신보기의 저장 프로 시저를 사용합니다. 뷰에서 삽입은 할 것 같다 무엇을 제공하지 않을 수 있습니다. 그것은 테이블에 뷰에서 쿼리, 다음 뷰에 표시되지 않습니다 행과 일치하지 않을 수 있습니다 행을 삽입합니다; 어딘가를 삽입하지만, 문이 보인다하지 곳.

    다른 저장 프로 시저에서 저장 프로 시저의 결과를 사용할 수없는 경우보기를 사용 (I 적어도 MySQL과, 후자의 작품을 만들 수 없었어).

  8. from https://stackoverflow.com/questions/3773277/stored-procedures-vs-views by cc-by-sa and MIT license