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 iptables 작동중일때 HA 동기화 속도가 너무 느립니다. 10 reerror 2013.04.18 14384
1458 Cubird 9.1 버전 single_byte_compare 속성 1 하루야 2013.04.17 10006
1457 Cannot communicate with the broker 오류 2 미스터투 2013.04.16 16254
1456 loaddb 에러 : ERROR CODE = -205 2 reerror 2013.04.16 11521
1455 한글 깨짐 문제 2 지산 2013.04.16 16056
1454 CUBRID 교육 과정 및 일정 1 OASIS 2013.04.15 7353
1453 전송 연결 현재 연결은 원격 호스트에 의해 강제로 끊겼습니다 1 바람바람 2013.04.12 20697
1452 Cubrid 점검 항목은 어떤것이 있나요 1 june2 2013.04.11 9070
1451 데이터베이스 이전 관련....질문 드립니다... 1 광황제 2013.04.11 7192
1450 실행시 오류 2 secret 반갑습니다 2013.04.10 7
1449 큐브리드 매니저 서버 연결이 종료되었다고 나옵니다. 1 file b13 2013.04.09 8371
1448 큐브리드 연동 소스 질문입니다. 1 b13 2013.04.09 8682
1447 CentOS 6.3 + cubrid + nforge 설치가 잘 않되네요. 1 김영환 2013.04.08 11364
1446 Failed to connect to database server, 'projectname' , on the following host(s): localhost secret 럭키캡틴 2013.04.07 9
1445 invaild buffer position error 3 바람바람 2013.04.05 15869
1444 Cubrid 9.1 를 이용한 C-API 접속 문제 문의 드립니다. 2 Psionic 2013.04.04 8411
1443 큐브리드 웹 매니저에서 쿼리 수행 문의입니다. 1 secret RuneRai 2013.04.03 9
1442 CUBRIDException이 null이네요 1 바람바람 2013.04.03 6335
1441 브로커 추가 1 바람바람 2013.04.02 8388
1440 session list와 kill 하는 방법이 있는지요? 4 hangum 2013.04.02 11400
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