Cursor Verus while loop- 커서의 장점/단점은 무엇입니까?
-
02-07-2019 - |
문제
커서 대신 루프를 사용하는 것이 좋은 생각입니까? 커서의 장점/단점은 무엇입니까?
해결책
이들 중 일부는 DBMS에 따라 다르지만 일반적으로 다음과 같습니다.
장점 :
행별로 처리 할 때 성능이 우수합니다
대형 데이터 세트에서 합리적으로 잘 작동합니다
단점 :
확장하지 마십시오
더 많은 서버 리소스를 사용하십시오
tempdb의 하중이 증가합니다
잘못 사용하면 누출이 발생할 수 있습니다 (예 : 해당 닫기없이 열면)
다른 팁
이 조언을 따르고 있습니다.
...] 어느 것이 더 낫다 : 커서 또는 루프가 있는가? 다시 말하지만, 그것은 실제로 당신의 상황에 달려 있습니다. 나는 거의 항상 커서를 사용하여 필요할 때 레코드를 루프합니다. 커서 형식은 나에게 조금 더 직관적이며, 결과 세트를 한 번만 루프하기 위해 구조물을 사용하기 때문에 Fast_forward 커서를 사용하는 것이 합리적입니다. 사용하는 커서의 유형은 루핑 구조의 성능에 큰 영향을 미칩니다.
- Tim Chapman SQL Server 2008의 커서 대 루프 성능 비교
링크 된 기사에는 각 접근 방식을 구현하는 방법에 대한 간단한 예가 포함되어 있습니다.
나는 당신이 그 커서/While 루프로 무엇을하고 있는지 물어볼 것입니다.
데이터를 업데이트하거나 반환하는 경우 적절한 Where 절을 사용하지 않는 이유는 무엇입니까? 나는 당신이 커서를 사용해서는 안된다고 말하는 사람들을 알고 있습니다.
제휴하지 않습니다 StackOverflow