2010년 7월 8일 목요일

[MySQL Stored Procedure]Stored Program의 보안

Stored Programs에 사용시 필요한 권한
 - CREATE ROUTINE, ALTER ROUTINE, EXECUTE

 

실행모드 옵션 - DEFINER
 - SQL SECURITY DEFINER
   루틴실행이 DEFINER 지정 유저 권한으로 실행됨
   생성자가 SUPER권한을 가졌으면 다른 계정 지정 가능
 - 테이블의 권한이 없어도 프로시져를 통해서 접근이 가능

 

실행모드 옵션 - INVOKER
 - 루틴을 호출하는 사람의 권한으로 실행
 - Invoker 권한으로 실행시에는 권한이 없을 경우 에러 처리 필요

 

Stored Program의 성능은?
 - 연산작업은 처리하지 않는다
 - 통계작업 등은 네트워크 트래픽을 많이 사용하는 경우에는 성능이 좋다
 - Self Join시 단계적 로직을 이용하여 Self Join을 피해서 처리하면 성능향상
 - Update문 안에 SELECT가 있을경우 커서를 이용해서 분리시 성능향상 가능

댓글 없음:

댓글 쓰기