Background Image

FORUM

답변 주신 인라인 뷰의 쿼리문에는 ORDER BY절 FOR ORDERBY_NUM() 추가 SQL이

SELECT * FROM (
   SELECT ORDERBY_NUM() ROWNO,
    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 '%'||'시설'||'%'
   ORDER BY NOTICE_YN DESC, REG_YMD DESC, MSG_GRP_NO DESC, MSG_ORD 
)
WHERE MSG_SEQ=20842  
 이렇게 변경을 하라는 건가요?

이렇게 하면 성능에는 큰 차이가 없습니다. 추가하지 않았을때와 동일



상세 보기에서 해당 게시글 + 정렬을 잡았을때  바로 위 바로 아래 글도 함께 가져 오고 싶은데 row가 1개가 아니라 3개라도 상관이 없습니다.

개선 방법이 있나요?


  • ?
    엄기호 2017.04.19 20:17

    안녕하세요.

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


    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 '%'||'시설'||'%'
       ORDER BY NOTICE_YN DESC, REG_YMD DESC, MSG_GRP_NO DESC, MSG_ORD
       FOR ORDERBY_NUM() BETWEEN ? AND ?

    )
    WHERE MSG_SEQ=20842


    예시

    1page인 경우 BETWEEN 1 AND 10

    2page인 경우 BETWEEN 11 AND 20

    3page인 경우 BETWEEN 21 AND 30


  • ?
    취우다 2017.04.19 20:31

    빠른답변 감사 합니다.

    SQL 에 WHERE MSG_SEQ=20842 처럼 해당 게시글이 몇 page인지 모르는 상황에서는 데이터를 찾을 수 없을 것 같습니다.

    (등록, 수정, 삭제가 빈번하여 맞지 않을듯 ..)

    ;


    그럼  <풀 스캔>없이 특정 PK(MSG_SEQ) 값에 대한 ORDERBY_NUM()  값을 찾을 수 있는 방법이나

    아니면 특정  ORDERBY_NUM()  값에 대한  PK(MSG_SEQ) 값을 찾을 수 있는 방법이 있을까요?

  • ?
    엄기호 2017.04.19 22:23
    값("%시설%")에 대한 것들이 등록, 수정, 삭제가 빈번하다는 것이 아니라 전체적으로 빈번하다는 말씀인것 같은데요.


    인라인 뷰에서 특정값("%시설%")에 대해 전체를 가져오면 성능저하가 발생할 수 있으므로 특정값의 일부분만 가져와서

    처리해야 합니다.

    그 값(게시판 목록에서 선택한 값) 그리고, 앞, 뒤만 가져 와야 하는 문제임으로

    이 조건 : BBS_CD='notice' AND DEL_YN='n' AND BBS_TITLE LIKE '%'||'시설'||'%' 에 맞는 것은 일단 게시판 목록을 조회하였고,

    그것들 중에 상세하게 조회하는 부분이라 몇 번째 page인지는 숙지 할 수 있을 것 같습니다.

    그러므로 ORDERBY_NUM()값에 대한 PK(MSG_SEQ)를 찾는 것은 의미가 없어 보입니다.


List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 CUBRID 사용자를 위한 DBeaver 도구 출시 안내 admin 2024.04.23 110
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4473
960 컴퓨터 메모리 증가 현상 문의드립니다 file 파파후드 2012.09.23 10834
959 매니저에서 테이블 여러개를 한꺼번에 삭제 하려면? 1 초보 2010.04.02 10836
958 HA 환경에서 백업 문의 3 reerror 2013.05.03 10839
957 [cubrid backup or restore] 질문 사항 1 완이예염 2013.06.14 10843
956 last_insert_id() 함수 에러 3 박종훈 2016.07.13 10846
955 [초보질문] databases.txt 에 접근할수 없다는 에러메시지가 나옵니다.. 4 file 몰라몰라 2011.08.29 10846
954 DB명_TXXXXX 임시파일이 생기는 경우는 뭐죠? 1 kimsuny 2013.11.12 10850
953 No space left on device 오류 문의 1 김상윤 2013.06.25 10851
952 cubrid service start 실행이 안되네요 ㅠ 1 Mickey 2010.04.28 10865
951 php 모듈을 로딩하지 못합니다. 해결방법이.... 1 오케이디바이스 2009.12.10 10866
950 ㅠ.ㅠ 안되는 autocommit off 2 바람바람 2013.01.03 10868
949 cci_execute() 에서 lock이 걸리는 현상 2 두영 2010.02.05 10869
948 테이블의 크기 1 카르마 2011.01.10 10880
947 unload/load 관련한 질문입니다. 4 potter 2009.12.04 10880
946 Cubrid Manager 랑 JDBC연결과 cubrid 설치도 문제가있는 것 같습니다. 2 낚시나간지렁이 2014.08.02 10884
945 HA 구성중 서버 이전으로 재구성시 1 라면 2016.07.08 10889
944 큐브리드에 Synonym기능 있나요? 1 김성일컴퍼니 2013.07.18 10890
943 ACTIVE_SESSION 이 48수치에 DB 다운되어 버립니다. 13 안토니오 2010.07.25 10905
942 php 모듈설치가 안되요 5 sapr 2009.11.26 10923
941 큐브리드 매니저 connect timed out. 오류 1 아이쿠두야 2012.03.23 10925
Board Pagination Prev 1 ... 148 149 150 151 152 153 154 155 156 157 ... 200 Next
/ 200

Contact Cubrid

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