데이터베이스 개발자 질문과 답변 게시판
데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.
안녕하세요
저런형태로 처리해야할경우 A, B 중 어느것이 좀더 효율적인가요?
프로시져에서 그냥 Delete 처리하는것과, Select 해서 데이타가 있을때만 지우는것중...
A
BEGIN
DELETE tblTemp
WHERE Date < '2017-03-05'
SELECT * from tblTemp
END
B
BEGIN
IF EXISTS(select * from tblTemp WHERE Date < '2017-03-05')
BEGIN
DELETE tblTemp
WHERE Date < '2017-03-05'
END
SELECT * from tblTemp
END
당연 B로 하시는게
무조건 지우는 루틴이 아니라 지우는 조건이 있을때만 지우는 루틴이 돌아가는게 효과적이죠...