MSSQL에서 DataType Issue 성능개선 (VARCHAR type의 NVARCHAR type으로의 형변환 문제)
성능테스트를 할때 이슈가 발생을 하였다. 성능이 생각만큼 나오지 않아서 원인을 찾다가 한가지 흥미로운 사실을 발견했다. MSSQL은 DataType에 따라서 우선순위가 존재하는데 NVARCHAR가 VARCHAR보다 더 높은 우선순위를 가지고 있다. 내가 Query의 Binding할 문자열에 대해 DataType을 지정하지 않고 그냥 값을 넘기면 MSSQL의 내부 규칙에 의해 NVARCHAR type으로 값이 넘어가게 된다.SELECT * FROM TB_EMP WHERE EMP_NAME LIKE 'Volibear';이렇게 넘긴다면 넘긴 Volibear라는 값은 NVARCHAR로 넘어간다는것이다. CREATE TABLE TB_EMP ( EMP_ID varchar(100), EMP_NAME varchar(10..
DB/RDBMS
2020. 9. 17. 14:39