2010-02-26 3 views
3

SQL Server 2005에 수백만 개의 레코드가있는 chaild 테이블이있는 테이블이 있습니다. where 절로도 delete 명령을 실행할 때마다 실행하는데 비정상적으로 오래 걸립니다. 이 지연의 원인이되는 자식 테이블의 크기를 bacause합니까? 삭제 쿼리를 더 빠르게 만드는 방법은 무엇입니까?tablename에서 삭제하는 데 비정상적인 시간이 걸립니다.

감사합니다, sweta.

+0

@sweta 전화 번호부에서 이름을 삭제해야한다고 상상해보십시오.하지만 색인이 생성되지는 않습니다 (모든 이름은 임의의 순서입니다). 삭제할 이름을 찾는 데 얼마나 걸립니까? 인덱스가있는 경우 이름을 삭제하는 것이 더 빠를 것입니다 (모두 정렬 된 순서로되어 있음). 데이터베이스에서 어떤 점이 느리게 실행되면 가장 먼저 확인해야 할 사항은 ... 사용 된 인덱스인지 여부입니다. 당신은 인덱스 도움이 필요하면 더 질문을 ... –

답변

3

평소 용의자 :

  • 트리거?
  • WHERE 절의 열에 대한 색인?
  • 하위 테이블의 FL 열에 대한 색인 FK 열?
  • 캐스케이드 등을 삭제 : 성장

    • 로그 파일 : 인덱스 점 또한

    를 참조?

  • ...

편집, 주석 후 : 그것은 자식 테이블에 테이블 스캔을 수행 할 수있다처럼 당신은 인덱스를 필요는 ...

+0

트리거 - 계단식 삭제 없음 - - WHERE 절에 없음 컬럼 (들)에 색인 없음 이 삭제 명령입니다 .. sal_process_details 어디에서 삭제 sal_process_master_id\t \t (sal_process_master에서 sal_process_master_id를 선택하십시오. 여기서 Process_month = @month 및 process_year = @year 및 employee_id는 (sal_process_temp_emp에서 employee_id 선택)) –

2

소리가 난다. 조인 C 럼에 하위 테이블에 대한 인덱스가 있는지 확인하십시오.

+0

두 테이블간에 외래 키 제약 조건을 일시적으로 중지하고 제약 조건을 활성화 할 수있는 방법이 있습니까? 삭제가 완료되면 pls이 문제를 해결하려면 다른 작업이 있다면 알려주십시오. –

+0

http://stackoverflow.com/questions/159038/can-foreign-key-constraints-be-temporarily-disabled-using-tsql –

관련 문제