안녕하세요?
현재 sun directory server 5.2 사용중이고 자바로 개발중입니다.
현재 구현해야 할 기능이 바로 페이징인데요 현재 구현을 한 방법은 어쩔 수 없이 자바 함수 내에서 무한 루프를 돌면서
해당되는 부분만 빈에 담아서 배열로 리턴하는 방식인데 페이징이 길어질 수록 속도가 기하 급수로 떨어지네요.
그래서 생각한게 인덱스 attribute를 생성해서 시작 index를 지정해 주고 limit를 통해 원하는 결과 값만 딱 가져오려고
하는데 시퀀스 개념이 없다 보니 데이터를 새로 add할 때 인덱스의 최대값을 구하기가 힘드네요.
지금 별의별 방법을 다 생각하고 있는데(마지막 인덱스를 db에 저장하는 방법도 생각해 봤고 메모리에 상주시키는 방법까지...;;)
하나씩 꼭 먼가 부족하드라구요..ㅠㅠ
Integer 타입의 attribute를 검색할 때 필터에서 최대값을 구할 수 있는 방법이나 sort를 할 때 역순으로 sort를 해서 limit를 1로 하면
최대값을 구할 수 있을 거 같은데 자바 jdk1.4 api(현재 개발중인 사이트의 jdk 버전이 1.4.2입니다)의 SearchControl에는 sort와
관련된 함수가 없는 것 같습니다.
흐.. 방법 없을까요? 현재 방법은 너무 퍼포먼스가 떨어지고 db로 구현하면 간단한데 부서별 권한 취득 때문에 ldap으로 구현해야
하는데 페이징이 계속 문제네요....
도와주세요..ㅠㅠ
|