Graceful Light

MySQL에서 MariaDB 이관시 서브쿼리의 정렬이 바뀔 때

2016-12-22


@Rownum 변수를 사용해 페이징 쿼리를 구현했는데, MySQL에서는 정상적으로 정렬이 되다가 Maria로 이관 후에 정렬이 반대로 나오는 경우가 있다.

오류

쿼리

설명

Rownum 변수를 사용해 TABLE1에서 최신 날짜 순으로 데이터를 가지고 온다.

해결

LIMIT 2^64-1를 서브쿼리 내에 추가해준다.

LIMIT의 최댓값은 unsigned 64bit-1 이므로 해당 값을 날려준다.

쿼리

원인

Optimizer가 임시테이블을 만든 후 filesort하기 때문에 발생한다.

🍺

Buy me a beer 🍗

공유하려면 QR코드를 스캔해주세요