본문 바로가기

반응형

Database/MySQL

(3)
MySQL에서 문자열 다루기 개요MySQL에서 문자열을 다루는 방법으로는 여러가지가 존재합니다. 먼저 컬럼을 정의할 수 있는 데이터 타입으로 CHAR, VARCHAR, TEXT 등이 있고, Collation을 통해 문자열 정렬이나 비교 연산이 달라질 수 있습니다. 이번에는 MySQL에서 문자열을 어떻게 다룰 수 있는지 알아보겠습니다.목차CHAR과 VARCHAR, TEXT란?CHAR과 VARCHAR 뒤에 붙는 숫자의 의미Collation이란?CHAR과 VARCHAR, TEXT란?앞서 언급했듯 컬럼을 정의하는 데이터 타입으로 CHAR, VARCHAR, TEXT가 있습니다. 이 3가지 타입을 비교해보겠습니다.CHAR고정형의 크기를 가지며, 추가적인 연산이 필요하지 않아 검색 속도 및 읽히는 속도가 VARCHAR에 비해 빠릅니다.최대 25..
MYSQL 정렬 방식(indexsort와 filesort) 개요CURSOR 방식의 조회를 공부하던 중, 정렬 방식에 대한 공부가 필요한 것 같아 정리하고자 합니다.실행 계획 분석먼저 아래의 쿼리를 보겠습니다.select p1_0.product_uid, p1_0.name, p1_0.price, p1_0.thumbnail_image_url from products p1_0where product_uid > 'KRvlj5cFxz08PiR'order by p1_0.created_at desc limit 10; 위 쿼리는 간단한 쇼핑몰의 상품조회 SELECT문으로, 커서 페이지네이션 방식으로 작성되어 있습니다. 정렬 방식은 상품이 등록된 최신순으로 조회를 합니다.해당 쿼리에 대한 실행계획을 조회하면 다음과 같은 결과가 나왔습니다.idselect_typetablepar..
Cursor vs Offset Pagination의 성능 비교 및 최적화 개요SELECT 문으로 다수의 레코드를 가져올 때, 한 화면에 많은 양의 레코드를 한번에 보여줄 수 없을 때가 있습니다. 이 때 데이터 전체가 아닌 일부만 가져오게 되는데, 크게 페이지네이션과 무한스크롤 방식이 있습니다.💡 페이지네이션(Pagination) - Offset Pagination페이지네이션은 디지털 콘텐츠를 웹사이트의 또 다른 페이지들로 분리하는 방법입니다. 사용자는 페이지 하단에 있는 숫자 형식의 링크를 클릭하여 페이지들을 탐색할 수 있습니다. 페이지네이션된 콘텐츠 일반적으로 몇 가지 공통된 주제 혹은 목적들을 지니고 있습니다.무한 스크롤(Infinite scroll) - Cursor Pagination무한 스크롤은 사용자가 페이지 하단에 도달했을 때, 콘텐츠가 계속 로드되는 사용자 경험..

반응형