[ 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하기

              this.ds_detail.getColumn(0, this.oDetailColIdx["컬럼명"] );

              this.ds_detail.setColumn(0, this.oDetailColIdx["컬럼명"], "값1" );

 

2. 개선방법 - 종류 2

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

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

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

    2. 이슈 : 아래 saveXML() 함수결과를 보면 값이 변경 되지 않았다.- 아쉽다.

                 하지만 transaction처리 후 서버에서보면 변경된 컬럼값을 받아 볼 수 있다.

                    -> 이건 내가 직접테스트해보지는 못했음.

       

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

Grid 튜닝5 - refreshBody  (0) 2017.12.05
Dataset 튜닝4 - alasql  (0) 2017.11.15
Dataset 튜닝2 - Hashmap방식  (0) 2017.11.15
Dataset 튜닝1 - 정의  (0) 2017.11.15
Posted by 농부지기
,