커서와 관련된 성능 문제가 있습니다. 해결하려는 문제는 다음과 같습니다. 자체 업데이트 카운터를 업데이트해야하는 UDF에 의해 계산 된 결과를 사용하여 Main 테이블의 각 레코드 (약 6000000) (하나의 업데이트 문 사용)에서 열 (VARCHAR)을 업데이트하려면 다른 카운터 테이블에.
- 문제는 UDF가 부작용이기 때문에 Countertable을 업데이트 할 수 없다는 것입니다. - 또한 READONLY 플래그로 인해 임시 테이블이나 변수 테이블을 업데이트 할 수 없습니다. - 메인 테이블에서 업데이트 트리거를 사용했지만 삽입 된 테이블에 저장된 단일 업데이트 문에 의해 트리거가 한 번 실행되었습니다.일괄 업데이트를 피하는 SQL Server 커서
내가 선택한 해결책은 다음과 같이 커서를 사용하는 것입니다.
- 메인 테이블에서 커서를 만듭니다.
- 는 등이
- 업데이트 PROC의 결과와 메인 테이블, 카운터 테이블
- 카운터 ++
- 호출 결과, 카운터를 계산하는 PROC에서 카운터를 얻을 첫 번째 행
- 를 가져 페치 카운터 테이블을 다른 행
을
아무도 저를 도와 줄 수 있습니까?
좀 더 구체적으로 말씀해 주시겠습니까? 테이블 구조는 무엇입니까? 무엇을 업데이트하려고합니까? –
카운터 테이블의 주 테이블 레코드를 계산하고 주 테이블에 해당 카운터를 저장합니다. 감사. – user2007209
왜 주 테이블에 카운터를 저장하고 있습니까? – fancyPants