데이터베이스 개발자 질문과 답변 게시판

데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.

cascade 속성이 걸린 데이터 삭제

전념 2013.05.06 12:29 Views : 8414

(쿼리 플랜 첨부 되었습니다.)


안녕하세요^^ 


sqler 에서 많은 도움을 받고 있습니다.


지금 저희 테이블에


a - id 가 PK이구요.

b - a(id) FK, 삭제,업데이트 cascade 속성 설정됨

c - a(id) FK, 삭제,업데이트 cascade 속성 설정됨

d - a(id) FK, 삭제,업데이트 cascade 속성 설정됨


이런식으로 만들어져있습니다.


스트레스 테스트를 위해서 여러개의 세션에서 쿼리를 날리고 있습니다.


유독 a 테이블의 값을 삭제할 경우 블록킹이 되서 웨이팅되는게 있는데요.(항상 그러는건 아니고 가끔 한 20초?이정도 걸려서 

웨이팅됩니다.) 원래는 1초내에 다 수행이 되어야 할것 같은데 말이죠 T_T


삭제 cascade가 되어있으니까 


begin tran

delete from a where id=3

commit tran


트랜잭션 걸구 이런식으로 삭제를 하고 있습니다.


원래 동시작업은 안되고 한명당 하나의 세션에서만 데이터를 처리하는게 원칙인데요. 

로그인 하면 다른곳은 로긴안되는것이죠.


쿼리 플랜을 보면 인덱스 삭제에서 비용이 많이 드는것 같은데...


이것 때문에 블록킹이 생기는건지...


제가 다시 요약해서 질문을 드리자면

1. 인덱스 삭제에서 비용이 많이 드는것같은데 어떠한 조치를 취하면 좋을까요?


2. cascade로 지정되서 delete하는 방식이 괜찮은건지? 좋지 않다면 다른방법은 어떤게 좋은지...


3.  cascade set null 형식으로 바꿔서 팀(a 테이블)만 삭제하고 다른테이블은 널값으로 셋팅해준후

특정시간에 그냥 null인값들 지우는 방식은 어떤가요?


많이 부족합니다.T_T


많은 조언들 부탁드립니다.


감사합니다.

No. Subject Author Date Views
6773 특정 조회값에 따른 쿼리속도 [16] 델리스파이스 2013.05.09 6697
6772 미러링 Server에 bak파일로 복원 [2] 최연웅 2013.05.09 7067
6771 SQL 프로필러 실행 오류 조언 부탁 드립니다. [2] 최문규_310881 2013.05.09 6769
6770 백업 bak 복구 제한...걸기.. [2] 열린문서 2013.05.09 6511
6769 서버(instance) collation 설정 방법 문의드립니다. [4] 나찰 2013.05.08 8350
6768 select 해서 나오는 컬럼값에 대해...count 관련... [3] 다크나인 2013.05.08 7491
6767 접근 통제 관련 질문 입니다. [5] 수노 2013.05.08 5616
6766 최초 DB구성시...ㅠㅜ [2] 파인드쿠폰 2013.05.08 6133
6765 begin try 구문 안에서 insert가 rollback 되는 현상에 대해 질문드립니다. [5] 나는짱이야 2013.05.08 6774
6764 운영 DB 확인하는 방법문의 [5] 최문규_310881 2013.05.08 5984
6763 컬럼에 확률값을 넣어놓고 그에 따라 랜덤하게 값을 뽑아올수 있을까요? [5] 제온 2013.05.07 10518
6762 SQL LOG 분석 [2] 미음이 2013.05.07 6700
6761 진행중인 이벤트를 최신으로 보이게 할려면,, 쿼리문을 어떻게 해야죠? [2] nkgogo 2013.05.07 6243
6760 case when 으로 만든 컬럼을 기준으로 row_num을 적용하고 싶습니다. [3] 형님 2013.05.07 6042
6759 sql 2008로 업그레이드시 사용자권한의 문제입니다. [2] 도선이 2013.05.06 6291
» cascade 속성이 걸린 데이터 삭제 [4] 전념 2013.05.06 8414
6757 sql server management studio에서 라인표시 어떻게 하나요? [2] 로쏘네리 2013.05.06 14123
6756 세션을 강제로 죽일수 없을까요? [3] 수노 2013.05.06 8686
6755 ldf 축소 관련 문의 입니다. [4] 점프 2013.05.06 7194
6754 동일한 값을 가진 특정 열의 합계를 쿼리에서 계산 가능한가요 ? [1] 내안의다른삶 2013.05.04 6871





XE Login