2010-06-02 4 views
0

인덱스를 설정하려고한다는보기가 있습니다. 뷰의 선택 열 중 하나가 varchar (250)의 반환 값을 갖는 사용자 정의 함수를 실행합니다. 그러나 해당 열에서 인덱스를 설치하려고하면 nvarchar (4000)의 크기가 나타납니다. 인덱스를 계속 설치하면 왜 그렇게 될 수 있습니까?함수 값 선택 인덱스에 nvarchar (4000)를 표시합니다.

답변

0

sp_refreshview 'YourViewName'을 실행하면 문제가 해결됩니까? (나는 당신이 WITH SCHEMABINDING을 사용하기 위해보기를 바꿀 필요가 있다고 생각한다.)

0

여기에 귀하의 주요 제안은 스칼라 udf를 도랑 것입니다 생각합니다. 그들은 끔찍한 성능 드래그입니다. udf에 합법적 인 사업 적 이유가 있습니까?

코드를 스칼라 함수 밖으로 가져 와서 뷰 내부에 직접 놓고 문제가 완화되는지 확인하십시오.

+0

그것은 끌기가 아니다. UDF 자체는 일부 데이터 조작을 수행합니다. 나는 거의 100 라인의 단일보기에서 6 개의 다른 지점에서 그것을 가지고 싶지 않습니다. –