CREATE TABLE test
( "NAME" VARCHAR2(30 BYTE),
"BIRTH" VARCHAR2(8 BYTE),
"FIRSTDAY" VARCHAR2(30 BYTE),
"ADDR" VARCHAR2(352 BYTE),
"J_CH" VARCHAR2(50 BYTE),
"KK" VARCHAR2(50 BYTE),
"COMM" VARCHAR2(50 BYTE),
"ID" VARCHAR2(50 BYTE),
"LAT" VARCHAR2(50 BYTE),
"LNG" VARCHAR2(50 BYTE),
"FNUM" VARCHAR2(20 BYTE)
)
테이블 구조는 그냥 저렇게 단순합니다.
데이터는 15만건이고요.
where addr = '??'
이렇게 조건을 줬을경우 3초이상 걸리네요..
빠르게 조회할 수 있는 방법이 궁급합니다..
테이블을 변경을 해도되고 제약은 없습니다..
--PC에서 올려주신 스키마를 이용 똑같이 테이블 만들고 데이타 15만건 만들고 서울 3천건 나오게 했는데... 음.. 1초도 안걸리는뎅... 성능상 문제가 아니라면 속도가 걸릴 부분이 보이지 않아용... 혹 해결되시면 내용 공유좀 부탁드립니다. CREATE TABLE TEST( "NAME" VARCHAR2(30 BYTE), "BIRTH" VARCHAR2(8 BYTE), "FIRSTDAY" VARCHAR2(30 BYTE), "ADDR" VARCHAR2(352 BYTE), "J_CH" VARCHAR2(50 BYTE), "KK" VARCHAR2(50 BYTE), "COMM" VARCHAR2(50 BYTE), "ID" VARCHAR2(50 BYTE), "LAT" VARCHAR2(50 BYTE), "LNG" VARCHAR2(50 BYTE), "FNUM" VARCHAR2(20 BYTE) ); CREATE INDEX IDX_TEST_ADDR ON TEST(addr); INSERT INTO TEST SELECT '고길동', '19990101', 'FIRSTDAY.........', DECODE(ROUND(DBMS_RANDOM.VALUE() * 4), 0, '대전', 1, '대구', 2, '부산', 3, '제주', 4, '경기'), 'J_CH...............', 'KK...............', 'COMM............', 'ID...........', 'LAT...........', 'LNG.............', 'FNUM..............' FROM DUAL CONNECT BY LEVEL <= 147000 ; INSERT INTO TEST SELECT '고길동', '19990101', 'FIRSTDAY.........', '서울', 'J_CH...............', 'KK...............', 'COMM............', 'ID...........', 'LAT...........', 'LNG.............', 'FNUM..............' FROM DUAL CONNECT BY LEVEL <= 3000 ; SELECT * FROM TEST A WHERE addr = '서울';