mysql 저장 프로시저를 사용하는 이유는 무엇입니까? MySQL 저장 프로시저 소개

巴扎黑
풀어 주다: 2017-05-18 11:01:17
원래의
1553명이 탐색했습니다.

저장 프로시저

MySQL 5 필요 MySQL 5에는 저장 프로시저에 대한 지원이 추가되었으므로 이 장의 내용은 MySQL 5 이상 버전에 적용됩니다.

지금까지 사용된 대부분의 SQL 문은 하나 이상의 테이블에 대한 단일 문입니다. 모든 작업이 그렇게 간단한 것은 아니며 전체 작업을 완료하려면 여러 문이 필요한 경우가 많습니다. 예를 들어, 다음 상황을 생각해 보십시오.

1. 주문을 처리하려면 해당 상품의 재고가 있는지 확인해야 합니다.

2. 재고가 있는 품목이 있는 경우 해당 품목은 다른 사람에게 재판매되지 않도록 예약해야 하며, 올바른 재고 수준을 반영하여 사용 가능한 품목 수가 줄어듭니다.

3. 재고가 없는 품목은 주문해야 하며, 이를 위해서는 공급업체와 약간의 상호 작용이 필요합니다.

4. 어떤 품목이 재고가 있고(즉시 배송 가능) 구독 취소되었는지 해당 고객에게 알려야 합니다.

분명히 완전한 예는 아니며, 이 책에 사용된 샘플 표의 범위를 넘어서는 것이지만, 의미를 표현하는 데는 충분합니다. 이 처리를 수행하려면 많은 테이블에 대해 여러 개의 MySQL 문이 필요합니다. 또한 실행해야 하는 특정 명령문과 해당 순서는 고정되어 있지 않으며 인벤토리에 있는 항목과 그렇지 않은 항목에 따라 변경될 수 있습니다.

그럼 이 코드는 어떻게 작성하나요? 각 문을 개별적으로 작성하고 결과에 따라 추가 문을 조건부로 실행할 수 있습니다. 이 처리가 필요할 때마다(그리고 이를 필요로 하는 모든 애플리케이션에서) 이 작업을 수행해야 합니다.

저장 프로시저를 생성할 수 있습니다. 간단히 말해서, 저장 프로시저는 나중에 사용하기 위해 저장되는 하나 이상의 MySQL 문의 모음입니다. 역할이 일괄 처리에만 국한되지는 않지만 배치 파일로 생각하십시오.


저장 프로시저를 사용하는 이유

이제 저장 프로시저가 무엇인지 알았으니 왜 저장 프로시저를 사용해야 할까요? 그것들을 사용하는 것은 어떻습니까? 여러 가지 이유가 있는데, 주요 원인 중 일부가 아래에 나열되어 있습니다.

1. 사용하기 쉬운 단위로 처리를 캡슐화하여 복잡한 작업을 단순화합니다.

2. 이는 일련의 처리 단계를 반복적으로 설정할 필요가 없으므로 데이터 무결성을 보장합니다. 모든 개발자와 애플리케이션이 동일한(파일럿 및 테스트) 저장 프로시저를 사용하는 경우 사용되는 코드는 동일합니다. 이를 확장하면 오류를 방지할 수 있습니다. 수행해야 할 단계가 많을수록 오류가 발생할 확률이 높아집니다. 오류를 방지하면 데이터 일관성이 보장됩니다.

3. 변경사항 관리를 단순화합니다. 테이블 이름, 열 이름 또는 비즈니스 논리(또는 기타 사항)가 변경되면 저장 프로시저의 코드만 변경하면 됩니다. 그것을 사용하는 사람들은 변화를 알 필요조차 없습니다. 이것의 연장선이 바로 보안입니다. 저장 프로시저를 통해 기본 데이터에 대한 액세스를 제한하면 데이터 손상(의도하지 않았거나 그렇지 않은 경우) 가능성이 줄어듭니다.

4. 성능을 개선합니다. 저장 프로시저를 사용하는 것이 개별 SQL 문을 사용하는 것보다 빠르기 때문입니다.

5. 단일 요청에만 사용할 수 있는 일부 MySQL 요소와 기능이 있습니다. 이를 사용하여 더욱 강력하고 유연한 코드를 작성할 수 있습니다. 즉, 저장 프로시저를 사용하면 단순성, 보안, 고성능이라는 세 가지 주요 이점이 있습니다. 분명히 그것들은 모두 중요합니다. 그러나 SQL 코드를 저장 프로시저로 변환하기 전에 몇 가지 단점도 알고 있어야 합니다.

6. 일반적으로 저장 프로시저 작성은 기본 SQL 문보다 더 복잡합니다.

7. 저장 프로시저를 생성하기 위한 보안 액세스 권한이 없을 수 있습니다. 많은 데이터베이스 관리자는 저장 프로시저 생성 권한을 제한하여 사용자가 저장 프로시저를 사용할 수는 있지만 저장 프로시저를 생성하는 것은 허용하지 않습니다. 이러한 결함에도 불구하고 저장 프로시저는 매우 유용하므로 가능할 때마다 사용해야 합니다.

저장 프로시저를 작성할 수 없나요? 여전히 MySQL을 사용하여 저장 프로시저 작성의 보안 및 액세스와 저장 프로시저 실행의 보안 및 액세스를 분리할 수 있습니다. 이것은 좋은 일입니다. 자신만의 저장 프로시저를 작성할 수 없거나 작성하고 싶지 않은 경우에도 적절한 경우 다른 저장 프로시저를 실행할 수 있습니다.

위 내용은 mysql 저장 프로시저를 사용하는 이유는 무엇입니까? MySQL 저장 프로시저 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿