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
운영게시판
최근게시물
MS-SQL Q&A 3363 게시물 읽기
No. 3363
[긴급]게시판 검색이 느린데...
작성자
제시카
작성일
2007-03-11 20:43
조회수
2,804

게시판 검색에서
작가와 책 제목으로 검색으로 통합검색을 해야 합니다.
즉 공지영의 '무소의 뿔처럼 혼자서 가라' 을 찾으려고 합니다.

키워드란은 한개이므로  사용자가
'공지영' 또는 '무소의' 또는 '무소의 뿔처럼 혼자서 가라'  또는 '무소의 뿔처럼 혼자서 공지영'
등등 을 입력할 수 있습니다.

그냥 DB에서 쿼리에서 날리면 안 느린데
동시접속자수가 많아지면서 느려지고 반응이 없네요 ㅠㅠ
쿼리문제인지 웹서버 문제인지

쿼리는 아래와 같습니다.

예) '무소의 뿔처럼 혼자서 공지영'
쿼리1)
select  작가, 제목 등
from

(

select 작가,제목 등
from 테이블
WHERE enable='Y'
AND ( 제목 LIKE N'무소의%' OR 제목LIKE N'뿔처럼%' OR 제목LIKE N'혼자서%'
OR 제목LIKE N'공지영%')

) as A

WHERE 작가+제목LIKE N'%무소의%' AND 작가+제목LIKE N'%뿔처럼%'
AND 작가+제목LIKE N'%혼자서%' AND 작가+제목LIKE N'%공지영%'
AND 작가+제목LIKE N'%뱅크%'
order by date desc


참고)
제목 필드: '제목' 또는 '작가-제목' 이렇게 들어가 있습니다. : 인덱스
작가 필드: 공지영(gongjiyoun) 또는 공지영 이렇게 들어가 있습니다. : 인덱스

인덱스는
작가+제목(모든 공백을 제거하고 붙여씀)
제목(모든 공백을 제거하고 붙여씀)

아시는 분들 답변 좀 주세요~~

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

참고 사항 중에
"제목 필드: '제목' 또는 '작가-제목' 이렇게 들어가 있습니다."
각 건에 대해서 '제목', '작가-제목' 이렇게 2건이 들어 있다는 얘기인가요 ?
그렇다면
인덱스는 작가, 제목 이렇게 2개가 필요할거라고 생각됩니다.
enable 필드에 대해선.. 전체 건수중에 'Y'인 자료의 비율에 따라 인덱스 포함 여부를 결정해야 합니다.

저는 게시판 검색등과 같은 업무 경험이 없읍니다.
제가 아는 범위 내에서 답변을 드리면

쿼리문을

select 작가, 제목, ...
  from 테이블
 where enable='Y'
   and 제목 LIKE '무소의%'
union
select 작가, 제목, ...
  from 테이블
 where enable='Y'
   and 제목 LIKE '공지영%'

제목 필드에 '제목', '작가-제목' 이렇게 2건이 들어 있다는 전제와
검색어가 작가명 또는 책제목의 앞부분이 들어온다는 가정하에 위와 같은 쿼리문이 가능합니다.
이렇게 검색하여 리턴값이 없으면

select 작가, 제목, ...
  from 테이블
 where enable='Y'
   and 제목 LIKE '%무소의%'
union
select 작가, 제목, ...
  from 테이블
 where enable='Y'
   and 제목 LIKE '%공지영%'

두번째 쿼리의 경우 인덱스 사용을 못합니다.

**********************************************************************
Eurek™                                             NateOn, MSN : a3sd

임명순(Eurek)님이 2007-03-12 10:59에 작성한 댓글입니다.

제목 필드: '제목' 또는 '작가-제목' 이렇게 들어가 있습니다. : 인덱스


의 의미는

제목에는 무소의.. 이런 제목만 들어가야 하는데 

가끔 '공지영-무소의...'이렇게 들어가 있는 자료가 다수 됩니다.

제시카님이 2007-03-12 14:00에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
3366sql2005문의드립니다.
조박사
2007-03-13
2799
3365[질문] 원격지 서버 접속 오류 [2]
임명순
2007-03-12
3358
3364복학생의 질문 입니다] mssqll 이란 모져?? [1]
김대건
2007-03-12
2162
3363[긴급]게시판 검색이 느린데... [2]
제시카
2007-03-11
2804
336210진수 -> 16진수 변환함수가 있나요? [1]
이상철
2007-03-11
6222
3361sql 오류 메세지....
임택환
2007-03-10
2225
3360프로시져 작업중 인용부호 에러 [1]
홍성훈
2007-03-10
2625
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다