
데이터베이스를 다루다 보면, 쿼리가 느려서 답답할 때가 있습니다. “왜 이렇게 오래 걸리지?”라는 고민을 하게 되죠. 이럴 때 유용하게 쓰이는 것이 인덱스(Index)입니다. 이번 글에서는 데이터베이스 인덱스가 무엇인지, 왜 필요한지, 언제 사용하면 좋지 않은지까지 자세히 설명하고, 초보자도 쉽게 이해할 수 있도록 예시를 통해 알아보겠습니다.인덱스란 무엇인가?인덱스를 이해하려면 먼저 책의 목차를 떠올려 보세요.책에서 원하는 내용을 찾으려면 처음부터 끝까지 읽어야 한다면 시간이 오래 걸리겠죠.하지만 목차가 있다면, 원하는 장이나 페이지로 바로 이동할 수 있습니다.데이터베이스의 인덱스(Index)도 같은 역할을 합니다.테이블의 컬럼에 인덱스를 생성하면, DB는 해당 컬럼의 값을 빠르게 찾을 수 있는 별도의 ..
안녕하세요! Oracle의 경우 재귀 CTE 구문을 제공했지만, Mysql에서는 제공하지 못해 따로 구성해야됩니다Mysql에서 WITH 구문절에 RECURSIVE 키워드를 이용해 재귀 CTE를 구성하는 방법에 대해 알아보도록 하겠습니다. :) 기본 재귀 코드 기본적으로 재귀 코드(CTE)는 보통 연속된 값들을 구현하기 위해서 사용합니다.WITH RECURSIVE CTE1 AS ( SELECT 0 RNUM FROM DUAL UNION ALL SELECT RNUM+1 FROM CTE1 WHERE RNUM 위의 쿼리를 수행하게 되면 0부터 20까지의 연속된 숫자를 가지고 있는 데이터를 생성 할 수 있습니다. 타 컬럼 추가 재귀 코드기본적인 형태인연속된 값 말고도,..