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 65
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4465
1459 언어별 대표적인 orm 플러그인 개발 계획은 없으신지요? 1 서치 2014.05.05 9165
1458 8.2.2 HA 사용시 Master / Slave 간 정보 확인 문제 1 freemir 2013.04.01 9165
1457 오라클 instr 과 큐브리드의 instr 1 아코 2015.06.01 9169
1456 CUBRID R3.0 Apache2.2.17 PHP5.2.14 로 동작 안되내요? 2번째 질문 1 file ApiClasser 2010.11.09 9175
1455 CUBRID Manager 9.3.6.007 (64bit) 문제가 있는거 아닌가요? 1 file 라면 2017.03.31 9175
1454 php모듈 인식문제.. 3 호짱 2009.09.22 9177
1453 Insert 후 OID 가져오기... 2 봉봉나무 2010.12.09 9191
1452 csql 질문드립니다. 1 진영민 2012.05.16 9193
1451 ODBC로 연결을 했는데 자꾸 E_FAIL이 뜹니다.제발 답변좀 달아주세요!!개인이라고 신경 안써주시나? 1 JKwang2 2015.03.12 9193
1450 설치시... 2008 R2, Ubuntu 9.04-server 5 추추 2009.08.28 9196
1449 실행 중 서비스 갯수에 대해 문의 드립니다. 1 file 푸추어핸접 2013.11.01 9201
1448 상위버전에서 백업받은 파일을 하위버전에서 복원하는 방법? 1 보요 2012.12.14 9203
1447 한글 깨짐이 발생하고 있습니다. 2 file 하늘꿈 2015.07.10 9207
1446 설치시 에러..... 1 file 땅콩z 2013.07.09 9219
1445 오라클의 with 테이블명 as 구문은 큐브리드에서 사용이 안되는지요? 2 최범규 2017.04.06 9219
1444 CUBRID SHARD에서 C++ shard key so파일 make문제 7 제제디 2014.08.01 9233
1443 호스트 연결이 되지 않습니다. 3 file Juooon 2013.07.24 9235
1442 큐브리드 R4.0 에서 between 사용시 문제가 발생합니다. 1 종이 2011.08.07 9248
1441 HA 이용시 데이터 일관성 관련 문의드립니다. 1 안산혀눙이 2017.02.10 9250
1440 아이콘 활성 유무?? 4 file 차가워여 2009.09.29 9256
Board Pagination Prev 1 ... 123 124 125 126 127 128 129 130 131 132 ... 200 Next
/ 200

Contact Cubrid

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