통합검색
· 마을서비스란?  · 포럼마을  · 일반마을  · 테마마을  · 마을랭킹  · 활동왕
· 덱스퍼트란?  · TECBOX   · PRSBOX   · 이용안내  
· DEXT제품군  · 솔루션베이  · S/W & ESD 컴포넌트
· 프로그램베이
· LiveSeminar  · LiveConference
SQL Server 포럼마을 입니다.
  마을등급 SQL Server   이 마을은 포럼마을 입니다이 마을은 자유가입제 마을 입니다 마을소개 페이지로 이동 전입신청
마을촌장촌장 김종열 주민 1898 since 2006-12-29
우리마을 공지사항
질문&답변
강좌&팁
자유게시판
자료실
앨범
개인게시판
마을 게시판
등록된 마을 게시판이
없습니다.
랑데브 게시판
칼럼 게시판
개발자 고충상담
Dev Talk
자유토론방
벼룩시장
재나미 우스개
구인/프로젝트 정보
사람인 채용 게시판
  고객지원 게시판
마이 데브피아
 나의 e-Money 내역
 활동왕 My Page
 스크랩한 게시글보기
 쪽지관리
 주소록관리

 질문&답변 ※ 꼭 답변채택을 해주시어 성의껏 답변해주신 회원님께 감사의 마음을 전하시길 바랍니다.
 쿼리속도+인덱스 다시질문합니다  | Programming 2009-12-24 오후 2:54:22
 kd6751  kd6751님께 메시지 보내기kd6751님을 내 주소록에 추가합니다.kd6751님의 개인게시판 가기 번호: 73806 추천:0  / 읽음:2,018

현재디비구조는

그리고값들은

이런식으로 들어있습니다

 

총데이터가 10000여개필드입니다.

물론 앞으로계속늘어날거구요

요거를 출력하는데 페이지를 나눌수없어서 한번에 뿌리고 있습니다.

문제는 속도인데요

 

일단

SELECT idx, balju, code, company, date1, date2, wdate, state FROM S_ORDER order by date1 desc

해서 전체뿌렸더니 사이트가 멈춰버리네요.

 

그래서 년별로

SELECT idx, balju, code, company, date1, date2, wdate, state FROM S_ORDER where (date1 like '%2009%') order by date1 desc

했더니 약3분이걸리네요

 

너무느려서 조회해보니 인덱스를 말씀하시더라구요

그래서 쿼리분석기로 인덱스를 달았습니다.

 

create index idx1 on S_ORDER (date1)

요렇게요~~~~

 

그리고 다시조회해보니 속도차이가 없네요~~~

인덱스를 잘못했는지 아니면....검색이 문제인지...

보통 이정도데이터는 속도가 이정도걸리는건가요?

쿼리분석기로 돌리면 1초도 안걸리는데 말입니다 ㅠㅠ

 

가급적이면 전체를 다뿌렸으면 하는데 이거 해결방법이 없을까요?

디비에 초보라 가급적이면 자세히좀 알려주셨으면 합니다.

 

 

 

 

이 글에 답변 등록하기
 [답변]Re-index 2009-12-24 오후 3:24:34
 mcsdko  mcsdko님께 메시지 보내기mcsdko님을 내 주소록에 추가합니다.mcsdko님의 개인게시판 가기 번호: 73807 추천:0  

현재 작성하신 like 문장은 인덱스를 타지 않는 조건입니다.

 

like '%value' 와 like  '%value%' 는 인덱스를 타지 못합니다.

단, like 'value%'만 인덱스가 수행이 됩니다.

 

다른방법은 between을 사용하여도 인덱스 수행이 됩니다.

예를들어 between '2009-01-01' and '2009-12-31' 로 정의.

 

참고하시기 바랍니다.

 

이 글에 답변 등록하기
         [답변]죄송한데 다시한번올립니다. 2009-12-24 오후 8:05:56
 kd6751  kd6751님께 메시지 보내기kd6751님을 내 주소록에 추가합니다.kd6751님의 개인게시판 가기 번호: 73809 추천:0  

너무막막해서 다시질문드립니다.

 

 

페이징을 하지 않는다는 전제하에 질문드립니다.

1.일단 1000개정도 데이터를 페이징없이 뿌릴때 2~3초 시간안에 뿌릴수있는지.

2.있다면 where 절이 필요없어지므로 인덱스수행이 가능해지자나요.
  문제는 제가 인덱스를 첨해봐서 제가 한방법이 맞는지....

3.인덱스수행되는지 안되는지 어떻게 확인하는지...
4.만약 속도차이가 없다면 어떤다른 방법이 있는지...
5.다른 사이트들보니 500~1000개정도 1~2초안에 수행되던데 무슨방법을 사용하는지...

   제 쿼리소스가 문제가 있는지.

이 글에 답변 등록하기
 [답변]음.. 페이징을 해야 하지 않을까요?? 2009-12-24 오후 3:26:30
탱탱부르 번호: 73808 추천:0  

제가 제대로 이해하고 있는건지 모르지만

쿼리 분석기로 쿼리 날렸을때는 빠르지만 페이지에서 봤을때는 느리다는 말씀 같은데 맞나요??

1만건의 데이터를 html 로 다 뿌려주려면 시간이 좀 걸릴거 같다는 생각이 드네요.

행여라도 그 데이터를 그냥 받는게 아니고 xml 같은 걸로 가공해서 받은 다음

그걸 리스트에 뿌린다면 더더욱 그럴테구요.

이런 경우는 DB랑 관계없이 페이징 같은 것으로 웹페이지 튜닝을 해줘야 한다고 생각합니다.

페이징 같은 것도 여러가지 기법이 있으니 찾아보시는게 좋을거 같네요~

이 글에 답변 등록하기
목록 보기   지금 보고 계시는 글을 회원님의 my Mblog >> 스크랩에 넣어두고 다음에 바로 보실 수 있습니다.  
회사소개  |   개인정보취급방침  |  제휴문의  |   광고문의  |   E-Mail 무단수집거부  |   고객지원  |   이용안내  |   세금계산서
사업자등록번호 안내: 220-81-90008 / 통신판매업신고번호 제 2017-서울구로-0055호 / 대표: 홍영준, 서민호
08390, 서울시 구로구 디지털로32길 30, 1211호 / TEL. 02_6719_6200 / FAX. 02-6499-1910
Copyright ⓒ (주) 데브피아. All rights reserved.