ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 데이터 생성기법
    DB/Ms.SQL 2009. 9. 24. 01:58
    대부분의 테스트를 위한 DB테이블의 insert부분은 여러방법이 있다.
    주로 내가 사용하는 방법은 우편번호 코드를 insert해서 많은양의 데이터들을 테스트해보곤했다.
    책으로 읽었을때 대량의 데이터를 생성하는 기법은 여러가지가 있지만 속도 측면에서 봤을때 제일 좋은 방법은 Doubling방법이 있다.

    Doubling란? 원하는 크기가 될때까지 테이블로 자신의 데이터를 삽입하는 것을 말한다.

    SET NOCOUNT ON
    CREATE TABLE #list(
    id int identity
    ,PlaceHolder int Null
    )
    INSERT INTO #list default values
    INSERT INTO #list default values
    INSERT INTO #list default values
    INSERT INTO #list default values
    
    SET NOCOUNT OFF
    DECLARE @cnt int,@rcnt int,@targ int
    SELECT @targ=100,@cnt=COUNT(*),@rcnt=@targ-COUNT(*) FROM #list
    WHILE @rcnt > 0 
    BEGIN
     SET ROWCOUNT @rcnt
     INSERT #list (PlaceHolder) SELECT PlaceHolder FROM #list
     SET @cnt = @cnt + @@ROWCOUNT
     SET @rcnt = @targ-@cnt
    END
    SET ROWCOUNT 0
    SELECT Id,Rand(Id)*100000000000 FROM #list
    

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

    특수한 데이터 형식  (0) 2012.02.05
    [MSSQL] 소유자변경  (0) 2011.06.23
    BULK INSERT  (0) 2008.07.22
    ..조인과 하위쿼리..  (0) 2007.08.21
    ..SQL SERVER가 자동으로 저장 프로시저의 실행계획을 다시 작성하는경우..  (0) 2007.08.20
Designed by Tistory.