SQL Server 2000에서 거의 10 년 동안 사용 된 오래된 SQL 테이블이 있습니다.
그것은, 우리의 직원 배지 번호로 저장됩니다 char(6)
에서 000001
에 999999
.
지금 웹 애플리케이션을 작성 중이며 직원 배지 번호를 저장해야합니다.
나의 새로운 테이블에서 나는 지름길을 가지고 기존의 테이블을 복사하지만 단순히 저장하여, 등 더 나은 데이터 전송, 작은 크기,을 기대하고 수 int
의 값을 1
에 999999
.
C #에서는 다음을 int
사용하여 배지 번호 값의 형식을 빠르게 지정할 수 있습니다.
public static string GetBadgeString(int badgeNum) {
return string.Format("{0:000000}", badgeNum);
// alternate
// return string.Format("{0:d6}", badgeNum);
}
이 간단한 SQL 쿼리를 수정하여 반환 된 값의 형식도 지정하려면 어떻게해야합니까?
SELECT EmployeeID
FROM dbo.RequestItems
WHERE ID=0
경우 EmployeeID
7135이며,이 쿼리가 반환해야합니다 007135
.
FORMAT
C #과 같은 기능을 갖게 될 것입니다 :-)
int
값은 훨씬 적은 공간을 char(6)
차지하며 제조되는 부품 당 이러한 항목이 여러 개 있습니다. 능률.
DATALENGTH()
각각 2 바이트 를 절약 할 수 있다고 생각합니다 . 열이 인덱스에있을 수 있으므로 2MB 이상을 절약 할 수 있습니다. 그리고 다른 열을 추가하면 해당 2 바이트는 행당 4KB 페이지를 저장할 수있을만큼 행 길이를 줄이는 데 충분할 수 있습니다. 모바일 플랫폼에서 호스팅됩니까, 아니면 비생산적인 영역에주의를 집중하고 있습니까?
0
s는이 필드에서 중요 하므로 왜으로 변경INT
합니까?