Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
파라독스DB에서 검색을 빠르게 할려면?.
어쨋든 읽어 주시려 들어와 주셔서 감샤합니다...
묻고 싶은건 파라독스DB를 쓰고 있는데 데이타가 10만건 정도 되다보니 검색하는 쿼리를 날리면 검색하는 시간이 좀 걸리는 편이거든요... 좀 빠르게 검색할수있는 방법은 없을까요? 인덱스를 만든다던지, 만들었다면 어떻게 인덱스를 사용하는지요..
좀 도와주셨으면 감샤....
3
COMMENTS
이성찬
•
1999.11.05 23:38
mildshin wrote:
> 어쨋든 읽어 주시려 들어와 주셔서 감샤합니다...
>
> 묻고 싶은건 파라독스DB를 쓰고 있는데 데이타가 10만건 정도 되다보니 검색하는 쿼리를 날리면 검색하는 시간이 좀 걸리는 편이거든요... 좀 빠르게 검색할수있는 방법은 없을까요? 인덱스를 만든다던지, 만들었다면 어떻게 인덱스를 사용하는지요..
> 좀 도와주셨으면 감샤....
TTable 을 쓰고 계시다면,
레코드를 검색하시는 방법은 두가지입니다.
TTable.Locate method와 TTable.FindKey method 가 있는데, 당근! FindKey 가 훨 빠르져..
쓰시는 방법두, FindKey가 쉽습니다.
단, FindKey는 인덱스가 잡혀있어야만 검색이 가능한 반면,
Locate는 인덱스 없이두 검색이 가능합니다.
먼저, tblDatas 라는 테이블에 "name" 과 "code" 라는 필드로 인덱스가 잡혀 있다면,
다음과 같이 합니다.
with tblDatas do
begin
IndexFieldNames := 'name;code';
if FindKey(['이성찬', '0001']) then
showmessages('찾았다!!');
end;
만일 일치하는 레코드가 없다면, 즉 검색에 실패한다면 레코드 포인터는 변동하지
않습니다.
참고로, 이와 비슷한 method 에 "FindNearest" 라는 것두 있습니다. 이것두
이름을 보셔서 짐작 하셨겠지만, 인덱스가 잡혀 있어야 하면, FindKey 와 동일한
인자를 갖습니다. 단 이름대로 검색에 실패하더라도 제일 비슷한 레코드로
이동합니다.
그럼, 도움이 되셨길....
- 찬 -
0
0
삭제
수정
댓글
박성훈
•
1999.11.11 23:25
이성찬 wrote:
> mildshin wrote:
> > 어쨋든 읽어 주시려 들어와 주셔서 감샤합니다...
> >
> > 묻고 싶은건 파라독스DB를 쓰고 있는데 데이타가 10만건 정도 되다보니 검색하는 쿼리를 날리면 검색하는 시간이 좀 걸리는 편이거든요... 좀 빠르게 검색할수있는 방법은 없을까요? 인덱스를 만든다던지, 만들었다면 어떻게 인덱스를 사용하는지요..
> > 좀 도와주셨으면 감샤....
>
>
제가 아는 것은 이렇습니다.
TQuery를 쓰신다니깐...
먼저, Query와 연결된 컴포넌트가 있다면 DisableControls와 EnableControls를 사용하셔서 사용자의 체감속도를 높여주시죠.
그리고 Sql문 작성시 ParamByName을 사용하시는 게 속도상 제일 빠르다고 알고 있습니다.
가능하다면 검색도중 Application.ProcessMessage를 사용해서 검색도중 사용자가 다른 일을 할 수 있도록 하면 더 좋을 것 같습니다.
참고로 팁란이나 강의실들을 뒤져보면 db검색속도에 관한 글이 있는 것으로 알고 있습니다. 한 번 찾아보시죠.
도움이 되시길...
0
0
삭제
수정
댓글
델초
•
1999.11.06 03:51
이성찬 wrote:
> mildshin wrote:
> > 어쨋든 읽어 주시려 들어와 주셔서 감샤합니다...
> >
> > 묻고 싶은건 파라독스DB를 쓰고 있는데 데이타가 10만건 정도 되다보니 검색하는 쿼리를 날리면 검색하는 시간이 좀 걸리는 편이거든요... 좀 빠르게 검색할수있는 방법은 없을까요? 인덱스를 만든다던지, 만들었다면 어떻게 인덱스를 사용하는지요..
> > 좀 도와주셨으면 감샤....
>
>
>
> TTable 을 쓰고 계시다면,
> 레코드를 검색하시는 방법은 두가지입니다.
> TTable.Locate method와 TTable.FindKey method 가 있는데, 당근! FindKey 가 훨 빠르져..
> 쓰시는 방법두, FindKey가 쉽습니다.
> 단, FindKey는 인덱스가 잡혀있어야만 검색이 가능한 반면,
> Locate는 인덱스 없이두 검색이 가능합니다.
> 먼저, tblDatas 라는 테이블에 "name" 과 "code" 라는 필드로 인덱스가 잡혀 있다면,
> 다음과 같이 합니다.
>
> with tblDatas do
> begin
> IndexFieldNames := 'name;code';
>
> if FindKey(['이성찬', '0001']) then
> showmessages('찾았다!!');
> end;
>
> 만일 일치하는 레코드가 없다면, 즉 검색에 실패한다면 레코드 포인터는 변동하지
> 않습니다.
> 참고로, 이와 비슷한 method 에 "FindNearest" 라는 것두 있습니다. 이것두
> 이름을 보셔서 짐작 하셨겠지만, 인덱스가 잡혀 있어야 하면, FindKey 와 동일한
> 인자를 갖습니다. 단 이름대로 검색에 실패하더라도 제일 비슷한 레코드로
> 이동합니다.
>
> 그럼, 도움이 되셨길....
>
> - 찬 -
TTable를 쓰지않고요... TQuery를 쓰는데 그럴때는 어떻게 하죠?
참.. 그리구 인덱스를 잡는다는건 파라독스 DB를 만들때 KEY값으로 만들라는 말인지 아니면 Second index라는 걸로 필드를 잡아주라는 건지....알쏭달쏭하군요...
갈켜주세요...
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
델초
•
1999.11.05 19:29
2
COMMENTS
/
0
LIKES
DBASE를 파라독스로 변환하려면?
WX89
•
1999.11.05 19:58
델초 wrote: > 기존의 DBase를 파라독스로 변환할려면 어떻게 해야하나요? > 변환하는 프로그램을 따로 ...
델초
•
1999.11.05 22:51
WX89 wrote: > 델초 wrote: > > 기존의 DBase를 파라독스로 변환할려면 어떻게 해야하나요? > > 변환하...
최진석
1999.11.05 19:22
0
COMMENTS
/
0
LIKES
파라독스디비에서 레코드 추가할때
mildshin
•
1999.11.05 18:50
3
COMMENTS
/
0
LIKES
파라독스DB에서 검색을 빠르게 할려면?.
어쨋든 읽어 주시려 들어와 주셔서 감샤합니다... 묻고 싶은건 파라독스DB를 쓰고 있는데 데이타가 10만건 정도 되다보니 검색하는 쿼리를 날리면 검색하는 시간이 좀 걸리는 편이거든요... 좀 빠르게 검색할수있는 방법은 없을까요? 인덱...
이성찬
•
1999.11.05 23:38
mildshin wrote: > 어쨋든 읽어 주시려 들어와 주셔서 감샤합니다... > > 묻고 싶은건 파라독스DB를 ...
박성훈
•
1999.11.11 23:25
이성찬 wrote: > mildshin wrote: > > 어쨋든 읽어 주시려 들어와 주셔서 감샤합니다... > > > > 묻...
델초
•
1999.11.06 03:51
이성찬 wrote: > mildshin wrote: > > 어쨋든 읽어 주시려 들어와 주셔서 감샤합니다... > > > > 묻...
박성훈
•
1999.11.05 17:53
1
COMMENTS
/
0
LIKES
소
강창석
•
1999.11.05 20:18
박성훈 wrote: > 통신,인터넷 어디를 뒤져봐도 소
최수영
1999.11.05 17:38
0
COMMENTS
/
0
LIKES
분류먼저 해주시길 부탁드립니다.
이은주
•
1999.11.05 07:20
1
COMMENTS
/
0
LIKES
(급급!!)Paradox DB의 Not Null조건을 코딩으로..
이만준
•
1999.11.05 17:14
안녕하세요.... 아래코드는 bde 도움말에 있는 예제입니다... 이것을 이용하면..될 것같군요... 그...
김현일
•
1999.11.05 07:11
1
COMMENTS
/
0
LIKES
델파이에서 MS Agent 쓰려면...?
김성동
•
1999.11.05 22:53
www.delphimag.com에 가보시면 관련 자료가 있습니다. 김현일 wrote: > 안녕하세요. > 여기 전문가님...
김정하
•
1999.11.05 06:13
1
COMMENTS
/
0
LIKES
하이퍼리포트를 사용하는데요.........
구창민
•
1999.11.05 09:46
김정하 wrote: > 안녕하세요...김정하라고 합니다. > 궁금한 사항이 있어서 질문을 올립니다. > 하이퍼...
termy
1999.11.05 05:48
0
COMMENTS
/
0
LIKES
Inputquery함수의 폰트 변경이 가능한지??
김영진
•
1999.11.05 05:20
1
COMMENTS
/
0
LIKES
stringGrid 에 관해서...
조복기
•
1999.11.05 06:58
김영진 wrote: > 혹시 StringGrid의 특정 셀을 마우스로 클릭했을때 > 어떤 일을 할 수 없나요. > 예을 ...
김매경
•
1999.11.05 03:15
2
COMMENTS
/
0
LIKES
파일을 읽어서 그리드에 뿌려줄 수도 있는 건가여?!_!
강창석
•
1999.11.05 20:24
김매경 wrote: > 안녕하세여... 델파이 왕 초보 김매경입니당..!_! > 몇일 전까진... TCP/IP프로그램 때...
조복기
•
1999.11.05 07:07
김매경 wrote: > 안녕하세여... 델파이 왕 초보 김매경입니당..!_! > 몇일 전까진... TCP/IP프로그램 때...
엄화용
1999.11.05 03:00
0
COMMENTS
/
0
LIKES
컴포넌트
saint09
•
1999.11.05 02:44
2
COMMENTS
/
0
LIKES
delay 방법 좀 알려주세요.
이방인
•
1999.11.05 04:00
saint09 wrote: > 비베에는 delay 함수가 있어서 일정한 시간 동안 실행을 연기할 수 있는데 델파이에서...
박성훈
•
1999.11.11 23:03
이방인 wrote: > saint09 wrote: > > 비베에는 delay 함수가 있어서 일정한 시간 동안 실행을 연기할 수...
이양규
1999.11.05 02:30
0
COMMENTS
/
0
LIKES
프린터 용지가 아주 길때...
정종구
1999.11.05 02:23
0
COMMENTS
/
0
LIKES
델4.0에서 5.0으로 컴파일시 에러..
장식원
1999.11.05 02:22
0
COMMENTS
/
0
LIKES
Oracle과 Delphi 연동할 때....
여용구
1999.11.05 02:08
0
COMMENTS
/
0
LIKES
listview 사이의 드래그앤드롭
나나
1999.11.05 02:08
0
COMMENTS
/
0
LIKES
Form배경에 jpg를 넣고싶은데...
이만준
•
1999.11.05 01:26
1
COMMENTS
/
0
LIKES
MDI에서Active 가 바뀔때 알아내기...
심동현
•
1999.11.06 01:13
MDI 메인폼에서 다음과같이 코딩하시면 될 것 같군요. unit Main; interface uses Windows, Me...
김희라
1999.11.05 01:11
0
COMMENTS
/
0
LIKES
ProgressBar나타내기(꼭부탁드립니다.)
mildshin
1999/11/05 18:50
Views
247
Likes
0
Comments
3
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
> 어쨋든 읽어 주시려 들어와 주셔서 감샤합니다...
>
> 묻고 싶은건 파라독스DB를 쓰고 있는데 데이타가 10만건 정도 되다보니 검색하는 쿼리를 날리면 검색하는 시간이 좀 걸리는 편이거든요... 좀 빠르게 검색할수있는 방법은 없을까요? 인덱스를 만든다던지, 만들었다면 어떻게 인덱스를 사용하는지요..
> 좀 도와주셨으면 감샤....
TTable 을 쓰고 계시다면,
레코드를 검색하시는 방법은 두가지입니다.
TTable.Locate method와 TTable.FindKey method 가 있는데, 당근! FindKey 가 훨 빠르져..
쓰시는 방법두, FindKey가 쉽습니다.
단, FindKey는 인덱스가 잡혀있어야만 검색이 가능한 반면,
Locate는 인덱스 없이두 검색이 가능합니다.
먼저, tblDatas 라는 테이블에 "name" 과 "code" 라는 필드로 인덱스가 잡혀 있다면,
다음과 같이 합니다.
with tblDatas do
begin
IndexFieldNames := 'name;code';
if FindKey(['이성찬', '0001']) then
showmessages('찾았다!!');
end;
만일 일치하는 레코드가 없다면, 즉 검색에 실패한다면 레코드 포인터는 변동하지
않습니다.
참고로, 이와 비슷한 method 에 "FindNearest" 라는 것두 있습니다. 이것두
이름을 보셔서 짐작 하셨겠지만, 인덱스가 잡혀 있어야 하면, FindKey 와 동일한
인자를 갖습니다. 단 이름대로 검색에 실패하더라도 제일 비슷한 레코드로
이동합니다.
그럼, 도움이 되셨길....
- 찬 -