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 3452 게시물 읽기
No. 3452
index관련 질문입니다.
작성자
이주환
작성일
2017-02-08 15:23
조회수
3,940

intime이라는 컬럼을 인덱스로 지정했습니다.

컬럼타입은 varchar이지만 데이터는 날짜형식으로 들어가있습니다

이 경우 where 조건에서 intime < '2017-02-08 00:00:00' and intime > '2017-02-07 00:00:00'

위와 같이 조건을 주어도 index를 타는지 궁금합니다.

*intime은 date타입이 아닙니다.

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

안녕하세요.

varchar 에 입력된 아스키값으로 비교한다고 보시면 됩니다.

따라서 문자열끼리 비교하면 인덱스를 사용할 수 있습니다.

그리고 비교하는 문자열이 대상 필드 길이보다 크지 않아야 합니다.

e1) select * from 테이블명 where intime <'abc';

e2) select * from 테이블명 where intime <'2018';

e3) select * form 테이블명 where intime <'2017-03-01';

아래는 간단한 예제입니다.


## 테스트 데이타 생성

create table t1 ( intime varchar(200));
insert into t1 values ('2017-02-08 10:00:00');
insert into t1 values ('2017-02-07 10:00:00');
create index t1_idx on t1 (intime);


## 쿼리 플랜 확인

set explain on;
select * from t1 where intime < '2017-02-08 00:00:00' and intime > '2017-02-07 00:00:00'

QUERY: (OPTIMIZATION TIMESTAMP: 02-08-2017 15:50:23)
------
select * from t1 where intime < '2017-02-08 00:00:00' and intime > '2017-02-07 00:00:00'


Estimated Cost: 1
Estimated # of Rows Returned: 1

  1) informix.t1: INDEX PATH

    (1) Index Name: informix.t1_idx
        Index Keys: intime   (Serial, fragments: ALL)
        Lower Index Filter: informix.t1.intime > '2017-02-07 00:00:00'
        Upper Index Filter: informix.t1.intime < '2017-02-08 00:00:00'


Query statistics:
-----------------

  Table map :
  ----------------------------
  Internal name     Table name
  ----------------------------
  t1                t1

  type     table  rows_prod  est_rows  rows_scan  time       est_cost
  -------------------------------------------------------------------
  scan     t1     0          1         0          00:00.00   1
 

 

정상규(pajama)님이 2017-02-08 16:06에 작성한 댓글입니다.
이 댓글은 2017-02-08 16:10에 마지막으로 수정되었습니다.
[Top]
No.
제목
작성자
작성일
조회
3472windows 2008 에 설치할 informix 11.5 다운로드할려는데... [2]
몽몽이
2017-05-18
4138
3454HDR구성 질문입니다. [3]
goblin
2017-02-28
3587
3453esql 질문입니다. [2]
goblin
2017-02-13
3811
3452index관련 질문입니다. [1]
이주환
2017-02-08
3940
3451informix 초보입니다. [1]
goblin
2017-01-31
3883
3450informix odbc 연결 관련.. [11]
초보DBA
2016-10-17
5313
3449기존 테이블 (Decimal(4))-> 신규 테이블(Char(4)로 데이터를 옮기는데 질문이 있습니다 ㅠ [1]
ㅠㅠ
2016-10-14
3726
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.054초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다