database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
ㆍInformix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Informix Q&A 2175 게시물 읽기
No. 2175
인포믹스에서 부분 범위 처리는 어떻게 해야 되나요?
작성자
인포믹스-_-
작성일
2005-05-27 17:43
조회수
8,568

인포믹스 9.40 을 가지고 개발을 하고 있습니다.

 

다른게 아니고 order by 없이 역순정렬을 하기 위해서 역순으로 인덱스를 새로 생성했구요...

 

여기서 10개만 다른 테이블과 조인해서 웹상에 뿌릴려고 하는데 table(multiset()) 안에

 

first도 안 되고 into temp ~ with no log 절에도 first가 안 되네요...

 

이렇게 되면 지금 들어가 있는 데이터 전부를 다른 테이블과 조인하는 불필요한 과정이

 

발생할텐데요...이런 걸 막을 수 있는 법은 정말 인포믹스에 없나요?

 

인포믹스 쓰면서 느끼는 거지만 아무리 생각해도 웹개발에는 인포믹스가 정말 mysql보다

 

못하다는 생각이 막 듭니다....

 

아시는 분은 부디 도움을....

이 글에 대한 댓글이 총 2건 있습니다.

약간 번거럽긴 하지만 procedure와 directive를

이용하는 방법이 있읍니다.

 

initautonum(), autonum () 이라는
두개의 procedure를 만듭니다.

create procedure initautonum()
define global s int default 0 ;
let s = 0;
end procedure;

 

create procedure autonum ()
returning int;
define global s int default 0;
let s = s + 1;
return s;
end procedure;

그리고 index는 정렬을 원하는 필드들을 이용해서 descending이나

ascending등의 원하는 형태로 만듭니다.

 

실제 쿼리에서 응용하는 방법은,

먼저 execute procedure initautonum();를 수행하신 후

그다음 바로 이어지는 쿼리문에서

select  /*+ INDEX ( test ) */

* from test where autonum() < 11

and { index_column } =  { 조건문} into temp kkk with no log

;

 

이렇게 실행하면 원하는 10건의 내용을 얻을 수 있읍니다.

 

아니면 multiset(table( 문장에서도 이용할 수 있을 듯 합니다.

prolin님이 2005-05-30 15:23에 작성한 댓글입니다. Edit

감사합니다 ^^

 

적용시켜 보겠습니다.

 

좋은 하루 되세요~~~ ^^

인포믹스-_-님이 2005-05-31 08:48에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
2179중국어,일본어입력
리지니
2005-06-04
7267
2178Winsql 날짜Type 사용시 오류 관련 문의
kiho
2005-06-03
8304
2176특징좀 간단히 알려주세요
학생
2005-05-30
7201
2175인포믹스에서 부분 범위 처리는 어떻게 해야 되나요? [2]
인포믹스-_-
2005-05-27
8568
2174odbc 연결 방법? [1]
명성태
2005-05-25
8826
2172count 함수관련 [1]
신대승
2005-05-23
7329
2171인덱스 컬럼 순서가... [1]
Tiger
2005-05-17
7704
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.023초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다