database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 29299 게시물 읽기
No. 29299
프로시저가 뭔지 궁금합니다
작성자
Deck
작성일
2009-09-11 23:21
조회수
6,882

제가 DB를 기본적인 것만 알고 있는데요...

 

물론 여기 계시는 분들에 비하면 그 기본이라는 것의 기준도 한참 아래겠지만요...;;

 

제가 ad hoc에 대해서 검색하던 중 모르던 게 나와서요.

 

----------------------------------------------------------------------------------------------------------------------------

 

임의의 질의(Ad hoc)는 매번 실행될 때마다

구문 분석(Parsing) > 표준화(Standardization) > 최적화(Optimization) > 컴파일(Compile)

단계를 거치게 됩니다.

다시말해 임의의 질의(Ad hoc)실행된 후에

메모리에 실행계획(execution plan)이 남아 있지 않습니다.

이에 비행 저장된 질의(Stored Procedure) 는 실행계획이 프로시저 캐쉬(Procedure Cache)에 저장됩니다.

당연히 성능상에는 저장된 질의(Stored Procedure) 이 월등히 좋습니다.

왜냐하면 syscomments 테이블(SQL Server2000)에 Query tree가 저장되어 있으므로

구문 분석부터 다시 시작할 필요가 없기 때문입니다.

 

----------------------------------------------------------------------------------------------------------------------------

 

 

제가 궁금한건

1. 저장된 질의(Stored Procedure)가 정확히 무엇을 의미하는지 궁금합니다. 예를 들어 그냥 일반적인 쿼리(select * from Client)같은 것도 저장 프로시저인가요??

 

2. 1번의 답이 [아니]라고 한다면,  쿼리를 저장프로시저로 만들기 위해서는 어떻게 해야하나요?? 제가 홈페이지를 만들고 있는데 DBBean에서 걍 쿼리를 날리고 있거든요..

 

3. 저장 프로시저는 저 4단계에서 컴파일만 수행하는건가요??

 

4. 메모리 실행계획이라는 것이 무엇인가요..?

 

질문 올리기전에 먼저 검색을 해보았는데 저장프로시저에 대해 상세한 설명이 나오지 않더라구요..

사실 프로시저가 있다는 것도 이번에 처음 알았구요;;; 답변좀 부탁드릴게요

 

참고로 옆에 [최강 mysql4 바이블] 이라는 책을 끼고 있으나 역시 제가 찾는 내용은 나오지 않군요 ㅠㅠ

이 글에 대한 댓글이 총 2건 있습니다.

(1) 아닙니다.

(2) CREATE PROCEDURE입니다. 용법은 HELP CREATE PROCEDURE 해보시면 나옵니다.

(3) 쿼리 최적화 및 컴파일까지 완료한 후에, 변수만 바꿔서 실행하는 것으로 알고 있습니다.

(4) '메모리 실행계획'이 아니라 '메모리에 실행계획이 남아 있지 않습니다.'라고 쓰셨네요. 메모리에 실행계획이 남아있지 않으므로, 다음 번 쿼리 요청에 대해서 매번 구문 분석부터 시작해야 하므로 SP를 쓰는 것에 비해 느릴 수 있다는 얘기입니다.

무엇보다 아래 링크를 확인해보세요
http://dev.mysql.com/doc/refman/5.0/en/create-procedure.html

박현우(lqez)님이 2009-09-12 03:03에 작성한 댓글입니다.

박현우님 답변 감사합니다

Deck(dlehals2)님이 2009-09-12 21:51에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
29303공백으로 문자열 구분 [2]
정광윤
2009-09-14
6088
29302euckr -> utf8변환시 iconv 변환 오류 [5]
흥흥흥
2009-09-14
9483
29300MS Acess처럼 외래키로 여러값을 받을 수 있을까요?? [1]
Deck
2009-09-12
5812
29299프로시저가 뭔지 궁금합니다 [2]
Deck
2009-09-11
6882
29298서브쿼리에 대해서 질문좀 드릴게요... [3]
Deck
2009-09-11
5654
29297여러테이블 연결해서 조회하는 쿼리문 문의 입니다. [1]
김선아
2009-09-10
5802
29286데이타를 원하는대로 출력하고 싶은데요.. 잘 안되서요 ㅜㅜ [1]
goooooo
2009-09-09
5306
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.022초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다