[ 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.grid.튜닝' 카테고리의 다른 글
Grid 튜닝5 - refreshBody (0) | 2017.12.05 |
---|---|
Dataset 튜닝4 - alasql (0) | 2017.11.15 |
Dataset 튜닝3 - set,get (1) | 2017.11.15 |
Dataset 튜닝1 - 정의 (0) | 2017.11.15 |