with Query1 do
begin
Close;
SQL.Clear;
SQL.Add('Select * from 우편번호.db');
if Edit1.Text <> '' then
SQL.Add('Where 읍면동 like '''+Edit1.Text+'%''');
SQL.Add('Order By 주소' );
Open;
end;
우편번호를 종합해서 데이터 화일로 만드니깐 레코드가 약 43000여개 되더군여... 물론 파라독스를 사용했구요...
해당 우편번호.db가 존재하는 컴에서는 검색하는데 약 2-4초 되는것 같아요.
그런데 다른 클라이언트에서는 해당 화일이 자체내 존재하지 않고 서버에
있는것으로 검색해서 그런지 시간이 상당히 걸리더군여...
물론 더미허브라서 속도가 느릴수도 있을거라 생각됩니다...
혹시 이보다 더 빨리 검색할 수 있는 방법이 있으면 좀 가르쳐주세요...
인터넷에서 회원가입같은거 할때 우편번호 검색은 빠르잖아요...
그 원리가 뭔지 알고 싶어요...
고수님들 꼭 좀 알려주세요...^^
특별한것 없습니다.
오라클을 사용한다면 해당 컬럼에 인덱스를 걸어사용하거나
테이블을 parallel option으로 생성하여 동시에 여러 CPU에 의한
검색을 시도할수 있습니다.
또한 데이타의 영역별 파티셔닝하여 찾기 쉽도록
즉 조건 데이타별로 찾는 영역을 축소화 할수 있습니다.
또한 SQL을 짤때에도 plan_table을 활용하여
추출대비 cost를 보고 보다 효율적인 sql문을 생성할 수도 있습니다.
이 모든것이 하루 아침에 되는 것은 아니지만,
책을 찾아 보면 자세히 나와있습니다.