Background Image

FORUM

?

단축키

Prev이전 문서

Next다음 문서

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

이전글, 다음글에 대한 INDEX 가능 여부나 SQL 개선 방법이 있는지 부탁 드립니다.

 - 게시글 목록 SQL 이 상세보기 SQL 보다 더 빠른 결과가 나옵니다.



<질문 SQL : 게시글 상세 보기에서....>

SELECT * FROM (
   SELECT
    LAG(MSG_SEQ,1) OVER(ORDER BY NOTICE_YN DESC, REG_YMD DESC, MSG_GRP_NO DESC, MSG_ORD) AS PREV_SEQ,  
    LEAD(MSG_SEQ,1) OVER(ORDER BY NOTICE_YN DESC, REG_YMD DESC, MSG_GRP_NO DESC, MSG_ORD) AS NEXT_SEQ,  
    MSG_SEQ,
    BBS_TITLE,
    BBS_CONTENT,
    REG_ID,
    REG_DT
   FROM BBS_NOTICE_MSG_TB M
   WHERE BBS_CD='notice'
    AND DEL_YN='n'
    AND BBS_TITLE LIKE '%'||'시설'||'%'
)
WHERE MSG_SEQ=20842   


1번째 질의[ 0.17 초 , 검색 건수 : 1 ]


--------------------------------------------------
SHOW TRACE;
--------------------------------------------------

Query Plan:
  TABLE SCAN (M)

  rewritten query: (select lag(M.MSG_SEQ, 1, null) over (order by 10 desc , 11 desc , 12 desc , 13), lead(M.MSG_SEQ, 1, null) over (order by 10 desc , 11 desc , 12 desc , 13), M.MSG_SEQ, M.BBS_TITLE, M.REG_ID, M.REG_DT from BBS_NOTICE_MSG_TB M where M.BBS_TITLE like  ?:1  and M.DEL_YN= ?:2  and M.BBS_CD= ?:3 )

  TABLE SCAN (__t1)

  rewritten query: select [__t1].PREV_SEQ, [__t1].NEXT_SEQ, [__t1].MSG_SEQ, [__t1].BBS_TITLE, [__t1].REG_ID, [__t1].REG_DT from (select lag(M.MSG_SEQ, 1, null) over (order by 10 desc , 11 desc , 12 desc , 13) as [PREV_SEQ], lead(M.MSG_SEQ, 1, null) over (order by 10 desc , 11 desc , 12 desc , 13) as [NEXT_SEQ], M.MSG_SEQ, M.BBS_TITLE, M.REG_ID, M.REG_DT from BBS_NOTICE_MSG_TB M where M.BBS_TITLE like  ?:1  and M.DEL_YN= ?:2  and M.BBS_CD= ?:3 ) [__t1] (PREV_SEQ, NEXT_SEQ, MSG_SEQ, BBS_TITLE, REG_ID, REG_DT) where [__t1].MSG_SEQ= ?:0


Trace Statistics:
  SELECT (time: 155, fetch: 12900, ioread: 0)
    SCAN (temp time: 0, fetch: 131, ioread: 0, readrows: 354, rows: 1)
    SUBQUERY (uncorrelated)
      SELECT (time: 155, fetch: 12769, ioread: 0)
        SCAN (table: bbs_notice_msg_tb), (heap time: 83, fetch: 11821, ioread: 0, readrows: 19651, rows: 354)





============================================================================

<비교 SQL 게시글 목록>

SELECT ORDERBY_NUM() ROWNO, M.*
FROM BBS_notice_MSG_TB M
WHERE BBS_CD='notice'
 AND DEL_YN='n'
 AND BBS_TITLE LIKE '%'||'시설'||'%'
ORDER BY NOTICE_YN DESC, REG_YMD DESC, MSG_GRP_NO DESC, MSG_ORD
FOR ORDERBY_NUM() BETWEEN 1 AND 10


1번째 질의[ 0.034 초 , 검색 건수 : 10 ]


--------------------------------------------------
SHOW TRACE;
--------------------------------------------------

Query Plan:
  INDEX SCAN (M.idx_bbs_notice_msg_tb_orderby_regymd) ()
  skip order by: true

  rewritten query: select orderby_num(), M.msg_seq, M.bbs_cd, M.bbs_gcd, M.cate_cd1, M.cate_cd2, M.cate_cd3, M.msg_depth, M.msg_grp_no, M.msg_ord, M.bbs_title, M.msg_pw, M.tel_no, M.cell_no, M.email, M.addr1, M.addr2, M.zip_cd, M.spare1, M.spare2, M.spare3, M.spare4, M.spare5, M.spare6, M.spare7, M.spare8, M.spare9, M.spare10, M.view_cnt, M.notice_yn, M.notice_end_dt, M.public_yn, M.display_yn, M.display_start_dt, M.display_end_dt, M.reg_id, M.reg_dept_nm, M.reg_nm, M.reg_div, M.reg_ip, M.reg_dt, M.edit_dt, M.pin_no, M.del_yn, M.reply_mthd, M.dept_cd1, M.reply_st1, M.dept_cd2, M.reply_st2, M.dept_cd3, M.reply_st3, M.bbs_content, M.bbs_content_notag, M.bbs_wizwig_yn, M.msg_history, M.copyright_div, M.reg_ymd from BBS_notice_MSG_TB M where M.BBS_TITLE like  ?:0  and M.DEL_YN= ?:1  and M.BBS_CD= ?:2  order by 30 desc , 57 desc , 9 desc , 10 for orderby_num() between  ?:3  and  ?:4

Trace Statistics:
  SELECT (time: 14, fetch: 1723, ioread: 0)
    SCAN (index: bbs_notice_msg_tb.idx_bbs_notice_msg_tb_orderby_regymd), (btree time: 13, fetch: 1713, ioread: 0, readkeys: 8192, filteredkeys: 8192, rows: 1294) (lookup time: 8, rows: 11)


  • ?
    엄기호 2017.04.19 19:28

    안녕하세요.

    큐브리드를 이용해주셔서 감사드립니다.


    비즈니스 로직을 보면 목록을 본 다음 상세보기 이므로

    게시글 목록 쿼리문을 보면 ORDER BY절 FOR ORDERBY_NUM()을 사용 했으므로

    인라인 뷰의 쿼리문에는 ORDER BY절 FOR ORDERBY_NUM()이 빠져 있습니다.

    ORDER BY절 FOR ORDERBY_NUM()을 추가하여 사용하시면 됩니다.


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

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

    Date2020.04.09 Byadmin Views4458
    read more
  3. 윈도우 큐브리드 메니저로 리눅스 접속

    Date2010.09.14 By노스 Views11092
    Read More
  4. 윈도우10에서 cubrid명령어 입력시 cubrid.exe 실행

    Date2019.09.23 By킁미 Views289
    Read More
  5. 윈도우7+iis(7.5)+php5+cubrid에 xe 설치 후에 초기하면에 빨간색 글들.

    Date2009.12.26 ByHyuk-kwony Views20651
    Read More
  6. 윈도우7일때 로컬엔진으로 접속하면 에러납니다.

    Date2014.07.17 By어려운큐브 Views9
    Read More
  7. 윈도우에 관리모드 localhost 접속 안 됩니다.

    Date2016.02.24 By나무친구 Views9463
    Read More
  8. 윈도우에 등록되는 서비스명 변경이 가능한가요? ^^

    Date2010.11.08 By노스 Views10744
    Read More
  9. 윈도우에서 백업받은 DB를 리눅스 환경에서 복구 할수 있나요?

    Date2009.10.03 Bynewbie Views12632
    Read More
  10. 윈도우용 PHP 7에서 사용할 수 있는 큐브리드 드라이버 제공 시점 문의

    Date2015.12.06 By차오이 Views8191
    Read More
  11. 윈도우용 python 드라이버 설치 오류

    Date2023.01.18 By리치타이거 Views82
    Read More
  12. 윈도우용 큐브리드 문의

    Date2012.03.13 Byzino Views6355
    Read More
  13. 유니크한 값 얻어오기 있나요?

    Date2009.03.19 By이승훈 Views13138
    Read More
  14. 유저생성 함수 반복 실행 시, fatal error발생

    Date2023.11.09 Byf0081 Views105
    Read More
  15. 유져 권한에 대해

    Date2010.11.16 By가루구 Views8418
    Read More
  16. 윤년의 날짜 계산부분의 오류?

    Date2016.03.24 By라면 Views9856
    Read More
  17. 응답없음 현상

    Date2011.01.24 By까망이 Views9749
    Read More
  18. 이거... 뭐가 문제 일까요?

    Date2011.11.18 By안지민 Views27661
    Read More
  19. 이관데이터 CharSet문제

    Date2016.01.07 ByITMan Views7049
    Read More
  20. 이관중 에러가 나왔는데 질문좀 드릴께요

    Date2017.07.06 By덴드로비움 Views413
    Read More
  21. 이기종간 DB Link 문의 드립니다.

    Date2023.09.26 Bykikiki767 Views104
    Read More
  22. 이러한 오류가 뜨는 이유가 뭔가요?

    Date2020.11.13 ByUK Views151
    Read More
Board Pagination Prev 1 ... 143 144 145 146 147 148 149 150 151 152 ... 200 Next
/ 200

Contact Cubrid

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