2009-05-27 2 views
23

테이블에 계산 된 열이 하나 있는데 Is Persisted를 true로 설정해야하는지 여부를 알아야합니다. 이점은 무엇입니까? 어떤 단점이 있습니까? '지속됩니까?'는 의미는 무엇입니까?SQL Server 2005의 계산 된 열 유지

답변

40

"지속"은이 컨텍스트에서 "물리적으로 저장 됨"을 의미합니다.

계산 된 값은 삽입 (및 업데이트)시 한 번 계산되어 디스크에 저장되므로 모든 선택시 계산 된 값을 다시 계산할 필요가 없습니다.

Persisted는 열을 계산해야하지만 이후의 선택 쿼리에서 성능이 향상되므로 삽입 및 업데이트시 성능이 저하됩니다.

따라서 사용 패턴에 따라 달라집니다. 자주 사용하지 않지만 많이 쿼리하는 경우 persisted = true로 설정해야합니다.

자주 업데이트 할 경우 검색 성능에 대해 걱정하지 않는 경우, 또는 고려해야 설정은 지속 = 허위

3

다른 답변에 언급되지 않은 한 가지 더 : 계산 된 열은 외국에서 사용할 수있을 유지할 수 있어야합니다 열쇠.