2011-04-28 3 views
0

SQL 저장 프로 시저에 두 개의 varchar (max) 매개 변수가 있습니다. 특정 레코드의 값이 변경된 것을 표시하기 위해 사용자에게 제공되는 C#에서 생성 된 읽을 수있는 문자열 중 하나입니다. 다른 하나는 문자열을 XML로 표현한 것입니다.이 문자열은 구문 분석 중이며 각 수정 된 값에 대한 레코드를 DB 테이블에 추가합니다.varchar (max) 매개 변수가있는 SQL 성능

설명을 간략하게하기 위해 읽을 수있는 문자열에는 사용자가 인식 할 수있는 DB 열의 사용자 친화적 인 값이 들어 있습니다. XML 표현에는 DB 디자인 뷰에 나타나는대로 DB 테이블의 필드/열 이름이 포함됩니다.

두 개의 varchar (max) 매개 변수를 SQL 저장 프로 시저에 전달할 때 성능이 저하됩니까?

그렇다면 varchar (max) 매개 변수 중 하나만 전달하고 매개 변수를 구문 분석하고 사용자에게 표시 할 사용자 친화적 인 값을 생성하는 사용자 정의 함수를 설정하는 것이 좋습니까? 사용자 정의 함수 (User-Defined-Function) 호출이 여러 번 발생하여 성능이 저하 될 우려가 있습니다.

생각하십니까?

감사합니다. 러스티

+1

첫 번째 nvarchar는 사람이 읽을 수있는 버전이기 때문에 몇 가지 빠른 질문을 던지십시오. 이유는 무엇입니까? 두 번째로 xml 데이터를 XML 데이터 형식으로 전달하고 저장 프로 시저에서 처리하는 이유는 무엇입니까? – Johnv2020

답변

2

두 매개 변수를 통과하는 것이 하나만 통과하는 것보다 속도가 더 느린 이유가 있습니까?

단일 매개 변수를 통과하고 UDF로 분해되는 것이 더 빠를 것이라고 나는 의심 스럽지만 추가 복잡성은 그렇지 않을 경우 추가하기가 어렵습니다.

관련 문제