편집 기록

편집 기록
  • 프로필 허대영(소프트웨어융합대학)님의 편집
    날짜2016.09.08

    MySQL 5.6 버전에서 유일성을 가지지 않은 필드를 order by 절에 넣을때 limit 조건과 문제가 발생하나요?


    안녕하세요 MySQL 쿼리에 대해 질문이 있어 글을 올립니다. 쿼리를 게시판 리스트 형식으로 던지게 되는데, 쿼리는 아래와 같습니다.

    1page

    select * from table_name where ~~~~ order by DueDate limit 0,15;
    

    2page

    select * from table_name where ~~~~ order by DueDate limit 15,15;
    

    각 페이지에 대해 15개씩 끊어서 보여주는 쿼리이며, mysql의 limit를 이용하는중인데,

    문제는 1페이지에 나왔던 레코드가 2페이지에 또 나오는 현상이 발생합니다.(wherelimit 조건을 제외하면 1건이 확실합니다.)

    order by에 걸리는 DueDate 필드가 PK나 인덱스같은 유일성을 가진 필드가 아니라서 이런 현상이 발생한다고 생각하여

    order by DueDate, tableid 로 PK도 같이 조건절에 주었는데 이렇게 수정했을경우 정상입니다.

    유일성을 가지지 않은 필드가 order by 조건에 걸릴 경우 이런 문제가 발생하나요?

  • 프로필 알 수 없는 사용자님의 편집
    날짜2016.09.08

    MySQL 5.6 버전에서 유일성을 가지지 않은 필드를 order by 절에 넣을때 limit 조건과 문제가 발생하나요?


    안녕하세요 MySQL 쿼리에 대해 질문이 있어 글을 올립니다. 쿼리를 게시판 리스트 형식으로 던지게 되는데, 쿼리는 아래와 같습니다.

    1page select * from table_name where ~~~~ order by DueDate limit 0,15;

    2page select * from table_name where ~~~~ order by DueDate limit 15,15;

    각 페이지에 대해 15개씩 끊어서 보여주는 쿼리이며, mysql의 limit를 이용하는중인데,

    문제는 1페이지에 나왔던 레코드가 2페이지에 또 나오는 현상이 발생합니다.(where와 limit 조건을 제외하면 1건이 확실합니다.)

    order by에 걸리는 DueDate 필드가 PK나 인덱스같은 유일성을 가진 필드가 아니라서 이런 현상이 발생한다고 생각하여

    order by DueDate, tableid 로 PK도 같이 조건절에 주었는데 이렇게 수정했을경우 정상입니다.

    유일성을 가지지 않은 필드가 order by 조건에 걸릴 경우 이런 문제가 발생하나요?