ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 특수한 데이터 형식
    DB/Ms.SQL 2012. 2. 5. 04:31
    Uniqueidentifier,Timestamp, or Rowveersion,Sql variant,Table Cursor

    - Uniqueidentifier
    16바이트이면서 전세계 유일한 값으로 사용될수 있는 데이터형식 (전세계에서 유일무이한값으로 생성가능)
    장점은 전세계에서 유일한 값생성이 가능하여 유일한값(Unique)를 생성가능하다.
    단점은 겁나(?) 많다....
    상대적으로 만드는데 시간소요가 크고,4바이트로 식별가능한 int형보다 16바이트를 쓰므로 저장공간이 더 필요하고,인간적으로 기억하기도 힘들고(머리가 나쁜데 어케외워), 제일큰문제인...정렬이 안된다...ㅠㅠ

    이래서 이 데이터형을 쓰지 않는가봄!!!!!

    - Timestamp or Rowversion
    svn처럼 버젼관리가 될수 있음 row에 대한 변경 버전관리라고 보면 됨. 자세한 부분은 MSDN에서 친절하게 설명되어있음.:)

    - Sql variant
    특수한 경우 가끔은 int,varchar 등등의 형을 union해야할경우가 있다...물론 그거야 DB가 잘못설계가 되어있거나 했겠지......막 '갑'님께서는 꼭 해야한다고 하고 이미 DB는 설계되어서 잘돌아가고 있는데 해달라는 억지 떼를 쓸경우..근데 DB는 죽어도 변경못하겠고..할때 형을 변경하여 union할수 있는 경우이다....

    단......그로 인한 단점은 무지막지하게 크다..
    그다음부터는 해당컬럼이 데이터가 어떤데이터가 들어와야하는지 무결성 체크가 힘들어지고.
    이게 올바른 데이터인지 아닌지가 구분이 안될것이며...제일큰경우는 해킹에 취약하다는 점...흠..

    '그래...안쓰는게 났겠지?  쓰면 사람불러야해~' :)

    - Table  Cursor 
    요것이 무엇이냐! 하면 테이블 데이터를 담는 데이터 형식이다. 이름도 커서지 않습니까요~ㅋ
    이게 놀라운게.... 데이터의 구조를 테이블과 동일하게 선언하면서! insert,update,delete작업처리가 가능하다는 점....흠...결국에는 임시테이블(#table)과 유사한것이라는 거...단지 차이점은 임시테이블은 세션동안유지이지만 Table Cursor은 배치(Batch)동안만 유지된다는 것이다. 놀라워라!
     

    'DB > Ms.SQL' 카테고리의 다른 글

    테이블 명세서 만들기..므흣~  (0) 2012.03.06
    [MSSQL] 소유자변경  (0) 2011.06.23
    데이터 생성기법  (0) 2009.09.24
    BULK INSERT  (0) 2008.07.22
    ..조인과 하위쿼리..  (0) 2007.08.21
Designed by Tistory.