티스토리 툴바


이전2010/02/26 22:57
연산자로 데이터 형식이 다른 두 식을 결합할 경우 데이터 형식 우선 순위 규칙에 따라
우선 순위가 낮은 데이터 형식이 우선 순위가 높은 데이터 형식으로 변환된다.
이때는 변환은 암시적으로 지원 되지 않으면 오류가 발생한다.




이 우선 순위는 우리가 자주 사용하는 프로시저에서 잘못 작성을 하게 되면 성능을 저하시키는 요인이 될 수 있다.

아래와 같이 테이블과 해당 프로시져를 생성했다고 한다면 이유는 TEST.PNAME의 필드가 VARCHAR인데 검색에 사용된 파라매터는 NVARCHAR이기 때문이다.
VARCHAR는 NVARCHAR보다 우선순위가 낮기 때문에 WHERE 구문 왼쪽 조건에 대해 CONVERT가 일어난다.
데이터 행이 적으면 괜찮을지 몰라도 이 행이 많이지면 질 수록 성능에 대한 부하는 점점 커지게 될 것이다.



그리고 ...MSSQL2005에 해당되는 내용이다. 위와 같이 정의 되어서 사용되었다고 하면 @TXT3의 형식은 NVARCHAR(MAX)를 유지할까?
아니다. @TXT3이 NVARCHAR(MAX)로 되어 있다고 해도 NVARCHAR로 선언된 값들과 (+)연산되면서
@TXT3은 NVARCHAR의 최대값으로 자동 설정이 되어 버린다.


NVARCHAR(MAX)로 유지해서 사용하려면 아래와 같이 변수의 선언을 모두 NVARCHAR(MAX)로 해야 한다.

저작자 표시
Posted by 메놋
이전2010/02/24 13:19


아래 그림과 같이 마스터 페이지와 컨텐츠 페이지가 있고
해당 페이지에 각 컨트롤들이 있다고 하자.


먼저 기본적으로 페이지에 컨트롤을 검색하는 것을 살펴보자.


아래는 마스터 페이지의 컨트롤 중 "Label3"을 찾아 내용을 변경하는 부분이다.
그럼 컨텐츠 페이지에서 컨트롤 중 "TextBox1"를 찾으려면 어떻게 해야 할까?

위의 소스를 한줄로 표현 한다면?

어떤 구조적인 것을 찾을 땐 역시 먼저 풀어 본 후 풀어 진 것을 토대로 찾는 것이 가장 좋고 이해하기가 쉽다.

저작자 표시
Posted by 메놋