Background Image

FORUM

조회 수 36302 추천 수 0 댓글 1
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

안녕하세요? 타이거팀입니다.

오라클DB 베이스에 jsp로 기사검색기능을 개발하는중에 LIKE  %검색어%  같은걸 써야하는 곳이 있었는데,  아무래도 LIKE %검색어%  는  검색시 인덱스를 타지못하는 문제점이 발생합니다. 
기사수가 늘어나면 인덱스를 타지못해 속도가 현저히 떨어질것으로 생각되는데다가 필드는 long 타입에 들어있습니다.  Clob타입도 아니라서 LIKE 검색이 먹히지도 않습니다.

제가 여러모로 궁리해서 만든 방법은 현재 오라클에서 제공하는 ORACLE * TEXT 라는 텍스트검색 전문기능을 추가로 설치한후, 이용해서 아래와 같이  Contains()문으로 본문검색 구현을 해놓은 상태입니다.

select * from article1
where art_uid= '0037' and contains (art_news,'검색어') > 0;

오라클 DB를 신규설치하거나, 기설치된 곳에  ctxsys 유저를 활성화시켜서 권한을 부여해주었구요.

SQL> alter user ctxsys account unlock;

news 유저일경우 해당유저에게 ctxapp 권한을 부여했습니다.

SQL> grant ctxapp to news;

article1 테이블아래 art_news가 long 필드로 기사본문이 들어있는 필드라면 인덱스를 하나 생성합니다.

SQL>  drop index idx_artnews force;

SQL>  create index idx_artnews on article1(art_news) indextype is ctxsys.context ;

SQL>  commit;

컨텍스트 타입의 인덱스가 생성되면 이제 jsp 검색 쿼리에 CONTAINS() 명령어를 사용할수 있게됩니다.

여기서 질문 드리겠습니다.

비용문제등으로 큐브리드를 기사 DB로 데이터이전과 마이그레이션을 하고싶습니다.

1.위의 오라클 contains() 문과 비슷한 구현방법이 큐브리드에서 적당한 방법이 있을까요?

2. contains()가 안된다면 오라클 long 타입으로 저장된 기사를 큐브리드의 string 타입으로 변경해서 보내려면 좋은 마이그레이션 방법이 있을지 질문드려봅니다.

3. 오라클끼리는 DB LINK 로 옮기는 방법등이 가능한데, 큐브리드도 DB LINK 같은 기능이 제공되는지도 궁금합니다. _news,'보석') > 0;




오라클의 contains()문과 비슷한 기능을 소개해주세요

  • ?
    남재우 2009.02.17 00:52
    현재 큐브리드는 전문검색을 지원하지 않고 있읍니다. 불편하시겠지만 전문검색이 필요하시다면 관련 전문검색 도구의 도움을 받으셔야 합니다.
     말씀하신 두번째 질문은 정확히 이해를 하지 못하겠읍니다만 단순히 큰사이즈의 데이터를 큐브리드에 입력하는 방법이라면 SQL문장만으로는 어려우며, ? 를 이용하여 prepare - value binding 형식으로 큰사이즈의 데이터의 큐브리드의 한 필드에 입력할 수 있읍니다.
    마지막 DB-link 기능은 큐브리드에서 지원하고 있지는 않습니다만 추후 database clustering 이 가능해지면 사용하실수 있으실 것읍니다. 하지만 문의하신 것처럼 옮기는 기능이라면 현재 지원하고 있는 복제기능을 이용하여 타 데이터베이스에 데이터를 동기화 시킬수 있읍니다.

List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 CUBRID 사용자를 위한 DBeaver 도구 출시 안내 admin 2024.04.23 49
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4458
3914 저장프로시저 실행관련 문의 4 f0081 2023.11.08 138
3913 다른 소유자 테이블 검색 권한 2 박혀누 2023.11.08 142
3912 [CUBRID Admin] 사용자의 테이블 권한 편집 1 tree1891 2023.11.06 97
3911 3909번 답변 좀 부탁드립니다. f0081 2023.11.06 91
3910 [CUBRID Admin] 테이블 컬럼 순서 변경 불가 12 tree1891 2023.11.05 178
3909 시스템 카탈로그 조회 외 1 f0081 2023.11.01 121
3908 시리얼 생성 시 class_name, attr_name, started 컬럼 값을 변경하고 싶습니다. 1 file getpost 2023.11.01 111
3907 cubrid 9.3.1 설치해서 원격으로 접속하고자 설치했는데 에러가 뜹니다 3 file Xstar 2023.10.27 97
3906 loaddb 실행 중 발생하는 오류에 대해서 문의 드립니다. 1 file 뚜벅뚜벅 2023.10.19 102
3905 큐브리드 매니서 실행 문의 1 마리오 2023.10.19 96
3904 큐브리드 DB가 실행되지 않는 것 같습니다. 4 file 뚜벅뚜벅 2023.10.18 123
3903 ===<ResultofSELECTCommandinLine1>=== 등의 출력 없이 결과값만 반환받고 싶습니다. 3 f0081 2023.10.18 93
3902 가로 데이터 세로로 조회 6 Ggyak 2023.10.18 120
3901 테이블별 row 개수를 조회하는 쿼리 6 cncn 2023.10.18 111
3900 [ADO.NET] Syntax error: unexpected 6 tree1891 2023.10.17 152
3899 큐브리드매니저 패스워드 변경 문의건 1 file yurrrr 2023.10.16 102
3898 Db프로시져 스케쥴 실행 성공 리포트나 로그 결과른 보고싶습니다 2 Roy 2023.10.16 105
3897 db 데이터용량을 조회하는 쿼리 2 cncn 2023.10.11 117
3896 특정 값 우선 정렬 3 drunkenascii 2023.10.11 66
3895 이기종간 DB Link 문의 드립니다. 6 kikiki767 2023.09.26 104
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 200 Next
/ 200

Contact Cubrid

대표전화 070-4077-2110 / 기술문의 070-4077-2113 / 영업문의 070-4077-2112 / Email. contact_at_cubrid.com
Contact Sales