|
제가 궁금한 내용은...
TQuery와 TDataSource, 그리고 TDBGrid를 바운딩 시킵니다.
그런후 TQuery의 SQL에다가 Select * From Table 하면
해당되는 테이블의 데이터들이 TDBGrid에 뜹니다.
이때 데이터 양이 10만건이고 릴레이션 되어 있다면 시간이 장난이 아니게 오래 걸립니다.
그런데 TQuery 이놈은 좀 영리해서(?) 해당 데이터가 10만건이라도 10만건을 다 불러오는게 아니라
보여줄 만큼의 Data만 불러오고 그 후로는 DBGrid의 스크롤 바를 내렸을때(기본 20레코드 인것 같더라구요)
다시 SQL문을 자동으로(?) 날립니다.(제가 테스트 해본 바로는 TTable도 같습니다)
그래서 시간이 굉장히 짧게 걸리는 것처럼 보이는데......
제가 지금 쓰고 있는 컴포넌트는 TADOQuery입니다.
이놈은 TQuery처럼 영리하지 못해서 그런가 Select * From Table하면 시간이 무쟈게 오래 걸리면서
10만건을 다 불러 옵니다. ㅡ.ㅡ;;;;
제가 하고 싶은 일은...
TADOQuery도 TQuery처럼 한꺼번에 데이터를 불러오는게 아니라
처음에는 화면에 보일만큼(이를테면 50~100개의 레코드)만 불러온후
DBGrid의 스크롤 바를 내릴때 마다 일정크기(이를테면 20개)의 데이터를 불러오고 싶습니다.
힌트를 주셔도 좋고, 코드를 주셔도 좋습니다 ㅡ.ㅡ;;;
현모양처님의 질문글처럼 많은 답변 부탁드립니다.
임선규님 향기님... 친절한 답변 기다리겠습니다 흐흐흐
|