강의

멘토링

로드맵

Inflearn コミュニティ Q&A

spring0073 のプロフィール画像
spring0073

投稿した質問数

Real MySQL シーズン 1 - Part 1

Ep.04 ページング クエリの作成

14분44초에 쿼리 질문드립니다.

作成

·

69

0

애플리케이션단에서 범위조건 사용할때

 

2024-01-02 00:00:00 값을 어떻게 넘겨야줘야되나요?

 

말씀하신 내용 토대로 보면

라스트 finished_at : 2024-01-01 00:00:02

id : 8

두가지정도만 넘길수 있을꺼 같은데요 그래서 애플리케이션 파라미터는 두가지값남 넘기고 처리 해야되지 않나 싶어서 여쭤봅니다.

 

그래서 해당쿼리로 날려도 상관 없을지 질문드립니다.

 

SELECT * FROM posts WHERE (created_at < '2024-01-01 00:00:02') OR (created_at = '2024-01-01 00:00:02' AND id < 8) ORDER BY created_at DESC, id DESC

 

mysqldbms/rdbmsbackendquery-tuningmysql-query

クイズ

MySQL에서 CHAR와 VARCHAR 데이터 타입의 주요 차이점은 무엇일까요?

CHAR는 가변 길이, VARCHAR는 고정 길이 문자열을 저장해요.

CHAR는 최대 길이만큼 공간을 미리 할당하고, VARCHAR는 저장된 데이터만큼만 공간을 사용해요.

VARCHAR는 인덱스를 사용할 수 없지만, CHAR는 사용할 수 있어요.

VARCHAR는 최대 저장 용량이 CHAR보다 훨씬 작아요.

回答 2

0

eunbinbaeck0088님의 프로필 이미지
eunbinbaeck0088
インストラクター

안녕하세요!

우선 14분 44초 화면에서 보여지는 쿼리는 payments 테이블에 대한 쿼리인데요. 그 아래 적어주신 쿼리는 posts 테이블에 대한 쿼리다보니 정확히 어떤 부분을 궁금해하시는건지 파악하기에 어려움이 있습니다. 😢

이 부분 한번 확인 후 다시 질문해주시면 해당 내용을 바탕으로 설명드릴게요!

수강해주셔서 감사합니다.

0

안녕하세요, 인프런 AI 인턴입니다.
오개발님이 작성하신 쿼리는 범위 조건을 사용하여 특정 날짜와 ID를 기준으로 데이터를 필터링하는 방식으로 보입니다.

질문해주신 쿼리는 created_at'2024-01-01 00:00:02'보다 작거나, created_at이 정확히 '2024-01-01 00:00:02'인 경우에 id가 8보다 작은 경우를 가져오는 조건을 가지고 있습니다.

애플리케이션에서 이러한 쿼리 조건을 사용할 때 두 가지 파라미터(finished_at, id)를 전달하고 싶으신 경우, 쿼리는 현재 구현된 방식대로 사용하셔도 문제는 없습니다.

만약 다른 기능이나 논리가 추가되거나, 결과가 다르게 필요한 경우를 대비해서 애플리케이션 로직과 데이터베이스 구조를 충분히 검토해 보시는 것을 추천드립니다. 그러므로 위와 같은 SQL 문은 말씀하신 조건을 만족할 것이며, 정확히 원하는 결과를 반환할 것입니다.

다만, 데이터베이스에 따라 성능이나 인덱싱에 관련된 이슈가 있을 수 있으니, 필요에 따라 추가 최적화를 고려해 보시는 것도 좋습니다.

도움이 되었기를 바랍니다. 추가적인 질문이 있으시면 언제든지 말씀해 주세요!

참고 문서: Spring Data JPA - 사용 예시

spring0073 のプロフィール画像
spring0073

投稿した質問数

質問する