Background Image

FORUM

?

단축키

Prev이전 문서

Next다음 문서

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

안녕하세요~

 

MySQL에서 큐브리드 포팅하면서 궁금즘이 생겨서 질문드립니다.

 

SELECT 시, 필드 값의 대/소문자 구분 없이 검색하는 방법으로 아래와 같은 쿼리가 적당할까요?

 

예시 테이블 생성 및 샘플 데이터)

 

CREATE TABLE "entries"(
"uid" integer AUTO_INCREMENT,
"entry" VARCHAR(255) NOT NULL,
"meaning" VARCHAR(255) NOT NULL,
PRIMARY KEY("uid")
);
 

INSERT INTO "entries" ("entry", "meaning") values ('japan', '옻칠');

INSERT INTO "entries" ("entry", "meaning") values ('Japan', '일본');

 

질의1)

select * from "entries" where "entry" = 'japan';

 

/*

질의1의 결과) 아래 1건만 검색 됨

 japan, 옻칠

*/

 

질의2) 대소문자 관계 없이 검색하기 위해 사용해 본 쿼리

select * from "entries" where lcase("entry") = lcase('japan');

 

 

질의2와 같이 필드 값과 입력 값을 모두 소문자로 맞춰 검색하면 2개의 japan 레코드가 나옵니다만...

 

이것이 성능상으로 문제가 있지 않을까 싶어서, 문의드립니다.

 

성능 저하가 우려가 있다면, 혹시 다른 방법이 있을까요?

 

  • ?
    남재우 2011.04.02 04:05

    안녕하세요.

    현재 CUBRID는 대소문자를 구분하고 있으므로 일반적인 방법으로는 어렵습니다.

    말씀하신 방법으로 가능하나, 문제는 lcase(entry) 와 같이 필드에 함수를 사용시 인덱스사용이 되지 않아 성능이 떨어질 가능성이 높아진다는 것이 문제입니다.

    아마도 아시겠지만 할 수 있는 방법은 2가지가 있습니다.

    1. 입력시 강제 소문자로 변환하여 소문자로 저장시킵니다. 그런후 비교시 where entry = lcase(비교값) 형태로 할 수 있습니다. 단점은 결과가 소문자로 나온다는 것입니다.

    2. 필드를 하나 추가합니다. entry 에는 원래값을 넣고 entry_lcase 에는 소문자로 값을 입력합니다. 그런후 비교는 where entry_lcase = lcase(비교값) 의 형태로 질의하고 select 절에서는 entry 값을 봅니다. 단점은 필드가 하나 늘어남에 따라 응용에서 질의 사용에 신경써야 하고 역시 데이터량의 증가로 이어질 수 있습니다.

    현재로써는 이정도 방법이 좋을 것 같습니다.

  • ?
    차오이 2011.04.02 04:46

    일단.. 검색용 필드를 따로 추가해 활용하는 것이 좋겠네요.. 힌트 감사합니다 ^^


  1. CUBRID 사용자를 위한 DBeaver 도구 출시 안내

    Date2024.04.23 Byadmin Views49
    read more
  2. SQLGate for CUBRID 영구 무료 라이선스 제공

    Date2020.04.09 Byadmin Views4458
    read more
  3. 백업 및 복구 복제 확인기능

    Date2011.05.07 By닉넴 Views8897
    Read More
  4. Fetching children of Tables......

    Date2011.05.06 By오룡즈 Views10030
    Read More
  5. ERD 보통 어떻게 작업하나요?

    Date2011.05.04 By차오이 Views38524
    Read More
  6. Materialized View 나 그런 비슷한 기능이 있을까요?

    Date2011.05.04 By안지민 Views11708
    Read More
  7. 또 에러.. 무슨 말인지 모르겠음.ㅋ

    Date2011.05.03 Bycarrera Views13191
    Read More
  8. 급한 질문입니다. 오류 관련.

    Date2011.05.03 Bycarrera Views8954
    Read More
  9. 설치 질문

    Date2011.04.30 Bymidas Views9283
    Read More
  10. UTF-8 한글이 깨집니다.

    Date2011.04.30 By코난7 Views16473
    Read More
  11. Java VM is not running....문제입니다

    Date2011.04.29 By수수 Views16349
    Read More
  12. 질문드려요

    Date2011.04.29 By깔라 Views8602
    Read More
  13. 큐브리드 데이터베이스 로그에 내용과 같은 오류메시지가 가끔씩 기록됩니다.

    Date2011.04.28 By종이 Views8903
    Read More
  14. 매니저에서 공간정리 실행 오류

    Date2011.04.27 By한종희 Views14333
    Read More
  15. 매니저 클라이언트 오류

    Date2011.04.27 By조은이야기 Views11755
    Read More
  16. BeginTrans 상태에서 검색 시 응답없음 발생

    Date2011.04.22 By까망이 Views14738
    Read More
  17. 데이터 복구시 질문사항입니다.

    Date2011.04.21 By........ Views13059
    Read More
  18. DB Error, Unload / Load 실패남

    Date2011.04.16 By한종희 Views13433
    Read More
  19. 큐브리드 페이징 관련 문의

    Date2011.04.15 By마산이프로 Views14291
    Read More
  20. 큐브리드 사용시 궁금한점이 있습니다.

    Date2011.04.14 By종이 Views11582
    Read More
  21. Microsoft Visual C++ 2008 재배포 가능 패키지 설치 안하고 Trayicon 보이게 하는 방법

    Date2011.04.11 By혀니짱 Views15795
    Read More
  22. windows xp 에서 큐브리드 설치시 오류

    Date2011.04.09 By혀니짱 Views12188
    Read More
Board Pagination Prev 1 ... 147 148 149 150 151 152 153 154 155 156 ... 200 Next
/ 200

Contact Cubrid

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