riberio
마리아DB 서브 쿼리에 있는 정렬 사용하기 본문
테스트 쿼리
SELECT * FROM (
SELECT VM.*
FROM V_MEMBER VM
ORDER BY VM.NO DESC
) A
-- LIMIT 0, 10
;
위 서브쿼리의 정렬이 정상적으로 되지 않을 경우
시스템 변수를 사용하면 적용이 되더라 ;;
SELECT * FROM (
SELECT VM.*
FROM V_MEMBER VM
, (SELECT @ROWNUM := 0) TMP
ORDER BY VM.NO DESC
) A
-- LIMIT 0, 10
;
실행 계획을 보면
id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY <derived2> ALL 22
2 DERIVED <derived3> system 1 Using temporary; Using filesort
2 DERIVED m ALL PRIMARY 22
2 DERIVED u eq_ref PRIMARY PRIMARY 4 m.USERNO 1
2 DERIVED ut eq_ref PRIMARY PRIMARY 4 m.USERNO 1
3 DERIVED No tables used
해당 부분 때문에 먼저 정렬이 일어 나는듯 하는데 왜 그러는지 전부 이해는 하지 못했음.
누가 설명좀 해주세요.
'개발 관련 > MySql&MariaDB' 카테고리의 다른 글
날짜 데이터 입력 (0) | 2021.03.29 |
---|---|
mysql online ddl (0) | 2021.02.02 |
현재 위도경도 기준 반경안에 속한 위도경도 정보 목록 조회 (0) | 2019.11.07 |
db 시작 시 오류 - Can't init tc log (0) | 2019.07.19 |
여러 행의 컬럼을 한 컬럼으로 정리 (0) | 2018.05.28 |
Comments