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
운영게시판
최근게시물
MS-SQL Q&A 4686 게시물 읽기
No. 4686
mssql 에 prepared query 가 없는게 맞죠?
작성자
송효진
작성일
2009-03-26 22:56
조회수
7,038

stored procedure 밖에 없는듯 한데...


$stmt = $db->prepare('SELECT * FROM table1 WHERE seq = :seq');

$fields[':seq'] = 1;

$stmt->execute($fields);


이걸 그대로 stored procedure 로 표현할 수 있을까요?

그리고 접속한 세션 내에서만 유효하도록 temporary 속성으로도 할 수 있을까요?


감사합니다.

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

질문을 좀 바꿔야겠군요.-_-;


필드명을 알아와서 적용하는 등의 삽질이 필요하고 php.net document 페이지에 언급이 좀 있는 것 같네요.

이런식이면 temporary 속성이면 안되겠고...


자동으로 마구마구 만들게 되면 문제 생기거나 할 일은 없겠죠?

송효진님이 2009-03-26 23:28에 작성한 댓글입니다.
이 댓글은 2009-03-26 23:29에 마지막으로 수정되었습니다. Edit

2번째 질문은 무슨말인지 저는 이해 불가능하네요. 좀 더 자세하게 예를 들어 설명하시면 질문이해에 도움이 될 거 같습니다.


1번째 질문에 대한 답변
---------------------
prepared의 목적은 동일 패턴의 쿼리를 자주 사용하는 환경에서 미리 데이터베이스에 최적의 쿼리플랜을 만들어 놓고 변수값만 바꾸어서 다음부터는 쿼리플랜 생성 없이 바로바로 처리하기 위해 하는 것입니다.

그런데 stored procedure도 미리 실행계획을 만들어 놓고 변수값만 바꿔서 처리하는 방식입니다.

즉 프로그래밍 언어세 prepare 한 후 변수값만 바꿔 execute 하는것과

stored procedure를 만들어서 변수 값만 바꿔서 실행하는것은 동일한 매커니즘입니다.


결론
----
stored procedure 를 만들고 변수값만 바꿔서 실행하세요.. 기능 성능 똑같음.



temporary속성 얘기는 제가 질문을 이해 못했습니다

출님이 2009-03-28 04:46에 작성한 댓글입니다. Edit

답변 감사합니다.

temporary 라고 표현한 것은,

stored procedure 는 prepared query 와는 다르게,

생성하면 계속 남아있다는 것입니다.

각종 필드속성을 명시하지 않고 프로그램으로 생성시키려면,

이것저것 값을 가져와서 만들어야 하기 때문에 매번 쓰고 지우는건 안좋겠고,

그냥 놔두자니 무분별하게 많이 생성되는것 아닌가 하는거죠.

성능상 제약이 생긴다거나, 사용상의 불편함이 발생한다거나 말이죠.

송효진님이 2009-03-28 17:14에 작성한 댓글입니다. Edit

varbinary 가 안되는 거였는데,

테스트를 너무 한번에 다 하려다가 prepare() 자체가 안되는 줄 알았네요-_-;;;

prepare() 되네요;;

송효진님이 2009-04-04 20:37에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
4690MSDE에 사용할 수 있는 MDAC 버전 좀 알려주세요...
임재원
2009-03-30
6548
4689MSSQL2005 급 질문입니다.[설치관련]
김범식
2009-03-28
6475
4688시간 제한 만료... [1]
김래인
2009-03-27
9090
4686mssql 에 prepared query 가 없는게 맞죠? [4]
송효진
2009-03-26
7038
4685두날짜 사이의 년월일 구하기
박승규
2009-03-26
8222
4684시스템정보 테이블에서 로그인ID 알수있는 방법 [1]
방용식
2009-03-26
6845
4682MS SQL 상태 [1]
황병득
2009-03-26
6568
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다