none
MS-SQL Lock 관련 문의 RRS feed

  • 질문

  • sp_lock 실행 결과 metadata lock, key lock 등 공유장금 Lock이 많이 걸려 있는 경우 홈페이지 느림 현상이 발생합니다.

    그럴 경우 심지어 html로만 이루어진 페이지조차 수 초가 걸립니다.

    물론 Lock의 개수가 줄어들면 다시 빨라지고요...

    nolock 힌트도 줬고 index seek으로 인덱스도 잘 타는데 어떻게 처리해야할지 막막합니다.

    저희 홈페이지의 경우 한 페이지에 여러 쿼리를 한번에 호출하게끔 되어 있는데 이것도 Lock 발생의 원인이 될 수 있나요?

    그렇다면 한번에 쿼리를 호출하지 않는 것이 해결방법의 하나가 될 수 있는지도 궁금합니다. 

    감사합니다.  


    • 편집됨 JYS_KK 2014년 10월 8일 수요일 오전 12:10
    2014년 10월 7일 화요일 오전 6:32

답변

  • 개별 쿼리가 느려지는 경우의 원인은 여러가지가 있습니다.

    페이지가 느려지거나 DB 혹은 서버가 느려지는데에도 여러가지 이유가 있구요.

    동시에 호출되는 쿼리량, 내부적으로 처리하는 데이터 양 등등의 따라 잠금의 크기 또한 달라지게 됩니다.

    그래서 홈페이지의 느림 현상은 SQL Server나 DB 전체적으로 성능 점검을 통해서 접근하는 것이 좋으실 듯 합니다.

    가능하시다면 Windows 성능카운터, SQL Profiler, SSMS, DMV 등을 활용해서 점검을 해 보실 수 있습니다.

    관련자료를 공부해 보시거나, 교육을 받으시거나 아님 주변에 SQL Server 잘 아는 분께 도움을 요청하실 수도 있구요.

    중요한 시스템이라면 전문 업체에 기술 지원을 받으시는게 가장 좋은 접근 방법이 되실 겁니다.

    P.S: 항상 여러 쿼리가 세트로 호출된다면 저장 프로시저 등으로 묶어서 호출하는 것이 도움이 됩니다. 그렇지만 그것이

       현재 해결방안이나 성능 문제의 원인으로 예상되지는 않습니다.

    도움이 되시길.


    Best Regards, Jungsun Kim

    2014년 10월 9일 목요일 오전 3:46
    중재자