이상하게 들리지만 나는 SQL 쿼리 속도를 늦춰야합니다. 현재 AdventureWorks 데이터베이스가있는 사내 개발 서버에서 Microsoft SQL Server 2008 R2를 사용하고 있습니다. 일부 코드를 테스트하는 중입니다. 실행중인 쿼리가 너무 빨라요.SQL 쿼리를 느리게하는 방법?
기본적으로 필자는 컷 - 오프 피쳐를 테스트 중이며 완료되기 전에 잘라낼 수있는 충분한 쿼리가 필요합니다.
불행히도 로컬 설치이므로 실제로 좋은 데이터를 제공하기 위해 AdventureWorks 데이터베이스에 단일 쿼리 또는 충분한 크기의 테이블이 없습니다. 난 그냥 일하고 있는지 확인하기 위해 테스트 할 좋은 일
WAITFOR DELAY '01:00'
을 시도했지만, 지금은 내가 데이터가 중반을 읽기 오프 스트리밍 줄일 수 있는지 확인하기 위해 테스트해야합니다. WAITFOR 문은 서버에서 데이터를 다시 검색하는 데 필요하기 때문에 그 점에서 저를 정의하지 않습니다. 첫 번째 직관은 회귀 계산을 사용하여 속도를 줄이는 것이었지만 SQL 서버가 쿼리의 모든 수치 값을 37 배로 늘리더라도 쿼리가 밀리 초 단위로 느려졌습니다. 두 번째로 시도한 것은
WAITFOR
문을 하위 쿼리에 포함시키는 것이었지만 그렇게 할 수없는 것으로 보입니다. 마지막으로, 시도하지 않은 유일한 방법은 복수 저장 프로 시저를 실행하고 그 사이에
WAITFOR
을 넣는 것입니다.하지만 필요한 것이 작동하지 않을 것이라고 생각합니다.
나는 당신이 서버에 가까이있을 때 절대적으로 끔찍한 쿼리를 작성하는 것이 얼마나 힘든지 감명 받았다.
쿼리 속도를 늦출 수있는 방법이 있습니까?
감사합니다.
해시/병합을 사용해야하는 경우 LOOP JOIN을 사용하도록 정상적으로 좋은 쿼리를 강제로 끄거나 작성하십시오. –
몇 가지 자체 교차 조인을 사용하면 멋지게 느려질 것입니다 ... 결과 세트가 크면 IO가 병목 현상이됩니다. – Oded