inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

200억건의 데이터를 MySQL로 마이그레이션 할 때 고려했던 개념과 튜닝 방법

ORDER BY

Order BY 강의 12분 질문

해결된 질문

77

민수킴

작성한 질문수 3

0

문자열 형식의 숫자를 정렬하는 팁을 알려주셨는데,
ORDER BY a=1 ASC; 가 어떻게 숫자를 정렬시킬 수 있는걸까요? 결국 결과는 boolean으로 a가 1인 컬럼은 true가 되면서 맨위로 오고 나머지는 모두 false가 되고 정렬은 옵티마이저 선택에 따라 뒤죽박죽일꺼같은데 설명 한번 부탁드립니다.

mysql mongodb mysql-workbench mysql-query

답변 2

0

July

안녕하세요 민수킴님 질문 주셔서 감사합니다.
질문 주신 부분이 맞습니다. 기본적으로 a=1 구문으로 사용하시게 된다면, 해당 구문은 숫자로 인식하는게 아니라 문자로 인식을 하게 되고, 해당 값이 맞는 raw가 true로 판별되어 뒤에 따라오는 Raw는 정렬이 되지 않습니다.

 

구체적인 사항은 제가 오늘 밤에 들어가 강의 내용을 좀 더 확인을 해봐야 하지만, 질문 주신 내용이 우선적으로 틀린 질문은 아닙니다. 이런 케이스에 대해서 만약 완전한 정렬을 하고 싶으시다면, 2차 정렬 조건을 두어서 처리를 해야 하는게 맞습니다.

추가적인 질문이 있다면 남겨주신다면, 좀더 세세한 부분은 제가 7.7일경 밤에 강의 내용을 추가로 확인하고 전달드리도록 하겠습니다.

1

민수킴

네 답변 감사드립니다.

강의 상으로는 해당 쿼리만으로 문자열 형식의 숫자가 모두 정렬된다는걸로 이해해서 문의드렸습니다. 한번 확인 부탁드립니다!

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 민수킴님.

질문하신 내용에서 ORDER BY 절은 MySQL에서 특정 조건에 대한 정렬을 수행할 때 자주 사용됩니다. ORDER BY a=1 ASC 구문을 통해, a 값이 1인 경우에는 참으로 간주되어 앞쪽에 배치되고 그 외 값은 거짓으로 처리되어 뒤쪽에 정렬되는 방식입니다. 이는 결과가 boolean 형태로 해석되며, MySQL에서는 true 값을 1, false 값을 0으로 처리하게 되어 이러한 정렬이 가능합니다.

따라서 a=1 조건을 기준으로 참(true)인 경우가 먼저 정렬되는 방식이며, 그 후 나머지 값들은 모두 false(0) 상태로 뒤에 정렬됩니다. 이 방법은 단일 조건의 참 여부를 기준으로 정렬할 때 유용합니다.

관련하여 보다 자세한 설명을 원하신다면, 아래와 같은 유사한 질문들을 참고하시면 도움이 될 것입니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.

현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

라이브 운영중인 환경의 테이블에 인덱스 추가시 고려사항

0

18

2

JPA Repository 질문이 있습니다!

1

28

2

페이지네이션 처리를 쿼리에서 하는 방식 질문

1

30

1

비동기 스레드풀 분리 이유와 Virtual Thread 전환 시 고려사항

0

26

1

수강기간 연장

0

18

1

Build 관련 문제 (테스트 관련 문제)

0

30

1

BCNF 질문

0

40

2

consumer에서 에러가 발생할 경우 데이터 유실 문의

0

34

2

게시글 테스트 데이터 삽입

0

41

2

Orchestration SAGA 패턴 보상에 대한 질문입니다.

0

46

2

연관 엔티티 네이밍 규칙

0

35

1

히스토리 관련 질문

0

48

2

강의가 검은 화면으로 나옵니다.

0

42

1

자료가 남지않은 프로젝트는 어떻게 적어야 할까요?

0

33

2

진짜 강의 듣는거 너무 고문

0

102

1

진짜중복/가짜중복을 나누는데 있어서

0

33

2

nosql -> sql 비교

0

29

1

DI시 eager과 lazy

0

32

2

인덱스 관련 질문 있습니다.

0

51

1

lock의 순서를 지켜주자는 말의 뜻

0

143

1

Deadlock Case 4분 45초 질문

1

155

1

[Skip Locked For Session] 12:14초 내용 관련 질문

1

308

1

안녕하세요, 멀티컬럼인덱스 개념 후반부 내용이 이해가 가지 않아 질문 드립니다.

2

432

2

안녕하세요 좋은 강의 감사합니다. 혹시 실습 코드는 따로 제공 안되나요??

2

290

1