Background Image
조회 수 1542 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
5월 큐브리드 정기교육 2일차 개발자 쿼리 튜닝 교육 문제입니다.

--준비
drop table if exists t1;
create table t1 (col1 int, col2 int, col3 int, col4 int, col5 varchar(100), col6 date);
insert into t1 select rownum, 1,mod(rownum,5), mod(rownum,1000), rownum, sysdate - mod(rownum,100000)
                  from table({0,1,2,3,4,5,6,7,8,9}) a, table({0,1,2,3,4,5,6,7,8,9}) b, table({0,1,2,3,4,5,6,7,8,9}) c, table({0,1,2,3,4,5,6,7,8,9}) d, table({0,1,2,3,4,5,6,7,8,9}) e, table({0,1,2,3,4,5,6,7,8,9}) f 
                  limit 1000000;

insert into t1 select rownum, 2,mod(rownum,5), mod(rownum,1000), rownum, sysdate - mod(rownum,100000)
                  from table({0,1,2,3,4,5,6,7,8,9}) a, table({0,1,2,3,4,5,6,7,8,9}) b, table({0,1,2,3,4,5,6,7,8,9}) c, table({0,1,2,3,4,5,6,7,8,9}) d, table({0,1,2,3,4,5,6,7,8,9}) e, table({0,1,2,3,4,5,6,7,8,9}) f 
                  limit 1000;

create index idx1 on t1(col1);
create index idx2 on t1(col6);
create index idx3 on t1(col3,col4,col5);
create index idx4 on t1(col2);

--통계정보 갱신
update statistics on t1 with fullscan;

--실행계획 및 통계 정보확인
set trace on;

show trace;

--스키마 확인
;sc t1

-- 다음 질의를 11.2버전에서 튜닝하세요. (사용된 t1 테이블이 모두 다른 테이블이라고 가정. 동일테이블이기 때문에 재작성 가능한 경우는 고려하지 않는다.)
1. (기대 속도 : 1 sec) 
  select col1
         ,col2
         ,col4
         ,2 max_col
         ,(select col6 from t1 where col1 = a.col1 limit 1) col6
         ,decode(col2, 1, 'yes', 'no') yesno
   from t1 a
  where col4 = 1
    and exists (select 1 from t1 where col4 = 1 and col1 = a.col1)
union all
  select 
          col1
         ,col2
         ,col4
         ,(select max(col1) from t1 where col3 = a.col3) max_col
,(select col6 from t1 where col1 = a.col1 limit 1) col6
         ,decode(col2, 1, 'yes', 'no') yesno
   from t1 a
  where col2 = 1
    and exists (select 1 from t1 where col4 = 1 and col1 = a.col1);

List of Articles
번호 제목 글쓴이 날짜 조회 수
83 [도서 소개] 이클립스 PDT file 정병주 2011.05.11 25920
82 [도서 소개] 김태용의 JSP 웹 프로그래밍 입문 file cubrid 2011.01.21 22641
81 [기사] 공개SW 유지보수 가이드라인 만들어진다. 정병주 2006.08.08 18964
» [5월 정기교육] 2일차 개발자교육 김아리 2023.05.25 1542
79 Windows 2003 + CUBRID 2008 R 1.4 + ZBXE 1.2.0 + Autoset 4.3.2 설치 후기 2 윤희서 2009.03.20 26949
78 Visual-SQL에서 데이타베이스명까지 저장과 ... 2 채광수 2006.06.21 20289
77 Talk Box는 개발자용 자유게시판입니다. 관리자 2006.06.16 24064
76 Sphinx 라는 검색엔진을 지원했으면 합니다. 2 정순영 2009.09.18 19656
75 SPRING+IBATIS+DWR 포팅 후기 3 장비맨 2009.04.23 20672
74 SDEC (Seoul Data Engineering Camp) 2011 - 개발자 중심의 기술 컨퍼런스 file 정병주 2011.05.13 28020
73 R3.0질문입니다. 2 겜기능되거든 2010.10.07 12271
72 Query Browser 미흡한 점 1 GGG특별대원 2011.04.04 23597
71 Q&A 신속한 답변 부탁 드립니다. 1 스마트 2010.09.27 11692
70 Q&A 글이 안써지네... 4 ㅇㅇ 2013.01.28 13231
69 Q&A 게시판에 글이 안써지네요. 저만 그런가요? 2 nimbus89 2013.01.14 12621
68 Q&A 게시판 글 쓰기/댓글 쓰기 시 오류 발생하네요. 2 사랑천사 2016.11.18 7308
67 Pentaho Data Integration(Kettle) 에서 Cubrid DBMS 지원 추가 2 김영우 2010.06.17 18618
66 PHP 로컬 검색 엔진 Orca Search을 큐브리드가 지원되었으면... 2 정순영 2009.09.16 15538
65 PHP Setup for IIS에서 큐브리드도 지원하도록 해 주시면 안될까요 ? 1 최흥배 2008.02.14 17240
64 Open Source Software Week 2010 행사 cubrid 2010.10.28 21299
Board Pagination Prev 1 ... 5 6 7 8 9 10 11 12 13 14 Next
/ 14

Contact Cubrid

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