MSSQL의 속도가 너무 느릴때 NVARCHAR로 형변환할 때
mssql 로 프로젝트를 하다보면 클라이언트 툴에서는 빠른데
서버에서만 느린경우가 있습니다. 한진프로젝트할때 발생했던문제인데
여기 롯데쇼핑쪽에서 문제가 똑같은 문제가 생겼습니다.
아시는분은 패스하시고 공유하고자 메일보냅니다.
하위버전의 mssql jdbc 드라이버에서는 오류가 납니다.
그래서 jdbc드라이버도 첨부합니다.
WAS 서버에 적용 jdbc 풀 부분: sendStringParametersAsUnicode:java.lang.Boolean=false
정보의바다 인터넷에서 찾은글
JDBC 의 PreparedStatement 를 사용한 경우 MS-SQL 성능과 관련된 문제입니다.
MS-SQL JDBC 의 대부분은 PreparedStatement 를 처리할 때, 스토어드 프로시
져 형태로 처리를 합니다. 이 경우, 입력받는 파라메터 중 String 때문에 문
제가 발생하는데...
Java 의 String 은 16-bit 캐릭터이며, 이는 MS-SQL 의 nvarchar 유형과 일치
하므로,
내부적으로 String 파라메터를 nvarchar 유형으로 처리하고자 합니다.
다행히 DB Table 이 nvarchar 유형이라면, 문제가 발생하지 않지만 varchar 라면
해당 테이블의 해당컬럼이 인덱스가 생성되어 있더라도 테이블의 해당컬럼이
nvarchar 로 변환됨으로 인해서 인덱스를 사용하지 못하게 되어(컬럼의 형변
환 되면 인덱스를 사용할 수 없음)
성능문제가 발생하게 됩니다.
JEUS 매니저 리소스 > JDBC
Property sendStringParametersAsUnicode:java.lang.Boolean=false;
'DEV > DB' 카테고리의 다른 글
조인 방법 (0) | 2010.11.17 |
---|---|
[ibatis] resultType 참거짓 (0) | 2010.11.04 |
프로시저에서 다른프로시저 호출 (0) | 2010.10.25 |