태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.
페이지를 읽고 있습니다. ( 아쿠아바다's Blog )
분류 전체보기 (769)
쉐어포인트 (24)
Exchange (12)
SQL (121)
XML (36)
WEB (294)
O / S (97)
삶의향기 (162)
기획 (19)
RSS 피드(IE 7.0부터 기본 지원됩니다. 이전 버전 사용자는 접합한 툴을 사용하세요!!)

심심풀이 3탄

SQL 2007/06/07 11:14 by 아쿠아바다
1. Sql server는 언제 데이터 페이지의 저장공간을 재사용하는가 ? (오라클의 pctused)

   -> PFS를 조회하여 페이지 여유공간이 50_PCT_FULL이하인 경우에만 재사용한다.


2. 널이 포함된 데이터를 ORDER BY 로 정렬하면 널이 오는 순서는 ?

   -> 제일앞에 온다. (참고로 오라클은 제일뒤에 온다구 한다.)

   궁금하면 요쿼리를 함 실행해 보세요.
   --drop table #t
   create table #t (a1 varchar(10))

   insert #t values ('a')
   insert #t values (null)
   insert #t values ('c')
   insert #t values ('d')

   select * from #t order by a1 asc


3. 넌 유니크 인덱스 상에서 동일 값일경우 인덱스의 정렬순서는 ?
   -> 1. 힙상태 : 같은 값이면 rid순으로 정렬
   -> 2. 클러스터 : 클러스터키 순서
   ※ 참고 : 클러스터 인덱스가 고유하지 않을경우 클러스터 인덱스를 유니크하게 만들기 위하여
             int형 숫자(1부터 증가)를 붙여서 유니크하게 하는데 이때 int는 1부터 순차적으로 증가한다.
             -> 그렇다구 무조건 int형 숫자가 붙는건 아니구
                예를 들어서 col1 이라는 컬럼에 'a'라는 키값이 있는데 또다시 'a'라는 값이 입력되면
                기존에 있던 'a'는 그래로 있구 새롭게 추가된 'a'+1 이런식으로 번호가 증가됨.


4. sql 서버 extent 할당 테스트 (자동이 무조건 다 좋은것은 아닌듯)

   결론 : sql서버는 무조건 처음 8page는 mixed extent로 할당을 한다.
   -> 힙, 클러스터, 인덱스 모두다 동일함.
   -> 8개의 extent에 1개씩의 page를 할당한다.
   -> 처음 8page를 scan하기 위해서는 8개의 extent를 옮겨 다녀야 한다. -> 황당한 현실
   -> 그다음 부터는 무조건 extent단위로 할당한다.(8page전체를 전부다 사용)

   ※ 최초 8개 page할당방법
      1. pfs를 찾아서 여유공간이 있는 mixed extent를 찾아서 그중 한페이지 사용
      2. 그다음 row insert시 mixed extent중 비어있는 page사용
      3. 운이 좋으면 2~3개의 extent에 최초 8개의 page를 할당할 수도 있으나
         운이 나쁘면 8개의 extent에 1개씩의 page를 할당할수도 있음.

   -> 그러나, 힙상태에서 클러스터 인덱스를 만들어 페이지를 재구성하면서
      익스텐트를 할당할때 균일익스텐트를 할당한다.
      또는 기존 클러스터인덱스를 다시만들면서 익스텐트를 할당할때 균일익스텐트를 할당한다.


5. 문자형을 자릿수 설정안하구 그냥 선언하면 몇자리나 될까 ?
   --> 요건 얼마전 데브피아 q/a 에 올라온 내용인데 재미있어서 그냥 넣었음.
   --drop table #t
   create table #t(c1 char, c2 varchar, c3 nchar, c4 nvarchar)

   문제 이때 c1,c2,c3,c4의 길이는 얼마인가 ?

   sp_help #t

   Column_name   Type        Length
   ------------- ----------- --------
   c1            char                1
   c2            varchar            1
   c3            nchar               2
   c4            nvarchar           2

'SQL' 카테고리의 다른 글

sp를 WITH ENCRYPTION 암호화 한거 풀기  (0) 2007/06/07
심심풀이 5탄  (0) 2007/06/07
심심풀이 3탄  (0) 2007/06/07
심심풀이 4.5탄  (0) 2007/06/07
ASP에 날짜시간에서 시간 오전/오후 제거하고 시간 24..  (0) 2007/06/07
심심풀이 1탄  (0) 2007/06/07
좀더 흥미로운 내용이 많이 있습니다.. HOME > SQL를 확인하세요
0 Trackback, 0 Comment, :
1  ... 620 621 622 623 624 625 626 627 628  ... 769 
Statistics Graph
Total : 557,516 Today : 38