[ Dataset 튜닝4 - alasql ]

 

 

저작자 표시
신고

'Nexacro-이론 및 튜닝 > dataset.튜닝' 카테고리의 다른 글

Dataset 튜닝4 - alasql  (0) 2017.11.15
Dataset 튜닝3 - set,get  (0) 2017.11.15
Dataset 튜닝2 - Hashmap방식  (0) 2017.11.15
Dataset 튜닝1 - 정의  (0) 2017.11.15
Posted by 농부지기

[ Dataset 튜닝3 - set,get ]

 

 

1. 정의

    . 한 Action으로 get, set을 수백,수천번이상을 수행해야 되는 경우가 존재할 경우

      nexa의 ds.getColumn(), ds.setColumn()함수를 사용한다면 속도가 너무 오래 소요된다.

     

2. 개선방법 1

    1. ds.getColumn(), ds.setColumn()함수를 꼭 사용해야 된다면

        함수를 호출할 때 column id를 호출하는게 아니고, column Index로 호출한다.

        nexa특성상 column id보다 column index를 넘기게 되면 속도가 향상된다.

     2. nexa core 속성  _index를 사용한 경우

         예) var nColId = ds.getColumnInfo("컬럼명")._index;

               ds.getColumn(0, nColId);

     3. 컬럼index정보를 위 방식이 아닌 hashmap을 생성해서 index정보를 활용하기

         예) //dataset에 대한 컬럼정보를 hashmap생성

             

              //hashmap정보를 이용해서 dataset에서 값을 get, set하기

             

 

 

 

2. 개선방법 2

    2. 사용자에 의해 값 변경등으로 dataset의 get, set을 상당히 많이(?약 몇천번)을 수행해야 된다면

        ds.getColumn(), ds.setColumn()함수가 아닌,

        -> _rawRecords, _viewRecords 인 nexa core함수를 사용한다.

 

 

저작자 표시
신고

'Nexacro-이론 및 튜닝 > dataset.튜닝' 카테고리의 다른 글

Dataset 튜닝4 - alasql  (0) 2017.11.15
Dataset 튜닝3 - set,get  (0) 2017.11.15
Dataset 튜닝2 - Hashmap방식  (0) 2017.11.15
Dataset 튜닝1 - 정의  (0) 2017.11.15
Posted by 농부지기

[ Dataset 튜닝2 - Hashmap방식 ]

 

1. 정의

    1. dataset의 findRow()함수를 사용하지 않고

        -> pk형태로 javascript의 Hashmap기능을 이용해서 row Hashmap을 생성한다.

            그런후 row를 찾을 때  Hashmap에서 row를 찾아 온다.


2. 이유

    . 특정 로직등에서 dataset의 findRow()함수를 사용해야 될경우

       data 수가 적을 경우에는 문제가 없지만 상당히 많은 data가 존재하고

사용자에 의해 값 변경등으로 dataset의 findRow()함수를 아주 많이(?약 몇백번) 수행해야 된다면

       findRow()를 사용하지 않고

       -> pk형태로 javascript의 Hashmap기능을 이용해서 row Hashmap을 생성한다.

            그런후 row를 찾을 때  Hashmap에서 row를 찾아 온다.

 

 

3. 개발방법

    1. 서버에서 dataset을 조회

    2. callback()함수에서 아래 script처럼 pk기준으로 Hashmap을 만든다.

    3. 그런 후 ds.findRow()함수를 사용하지 않고, Hashmap의 객체를 생성한다.

    4. 계산등을 수행하기 위해 findRow()를 사용할 때 Hashmap객체를 이용해서 row를 찾아 온다.

4. Hashmap 생성 script

    

 

5. row를 얻는 예제

    즉, 조회한 dataset의 자료가 시도별, 구를 관리하는 레코드인 경우

     Hashmap에 '대한민국,서울,구로구' 와 같이 입력을 하면 바로 row를 찾아 온다.

    

 

6. 참고

    서버에서 자료를 조회 후 5만건 이상이여도 Hashmap을 만드는 시간을 극히 잛은 시간이 소요된다.

    하시만 경험상으로 상당히 많은 findRow()함수를 이용해서 개발할 때 약30초 걸리던 시간이

    Hashmap을 이용해서 row를 찾아 오게 되니 약 0.3초 정도 시간이 소요 됐다.

저작자 표시
신고

'Nexacro-이론 및 튜닝 > dataset.튜닝' 카테고리의 다른 글

Dataset 튜닝4 - alasql  (0) 2017.11.15
Dataset 튜닝3 - set,get  (0) 2017.11.15
Dataset 튜닝2 - Hashmap방식  (0) 2017.11.15
Dataset 튜닝1 - 정의  (0) 2017.11.15
Posted by 농부지기