인덱스란?이 글을 보는 대다수의 사람들은 이미 인덱스에 대한 기본적인 지식이 있으실겁니다. 자세히 아시는 분은 가벼운 마음으로 제가 작성한 내용을 봐주시고, 아직 정리가 안된 분은 함께 인덱스를 정리해나가며 읽어주시면 좋겠습니다. 인덱스의 정의우리가 흔히 데이터베이스에서 사용하는 인덱스의 본래 뜻은 무엇일까요? 인덱스를 사전에 검색하면 `색인`이라는 말이 나옵니다. `색인`이라는 단어를 일상에서 많이 사용하지는 지는 모르겠지만, 우리가 책을 볼 때 가장 마지막 부분에서 볼 수 있는 단어 혹은 용어가 어떤 페이지에서 등장했는지를 알려주는 페이지입니다. 그 페이지처럼 데이터베이스에서 우리가 원하는 정보(Row)를 빠르게 찾을 수 있게 해주는 것이 바로 인덱스(Index)의 기능이자 목적입니다.인덱스는 왜..
MySQL
Stored Function이란?MySQL에서의 Stored Function, 보통 Function이라 불리는 기능은 SQL의 모음으로 서버에 저장한 후 함수 호출을 통해 해당 SQL 문들을 실행시키는 기능입니다. 프로그래밍을 해본 사람들은 쉽게 이해할 수 있는 이름이자 기능으로, 자신이 사용하는 언어에 존재하는 function이나 method의 SQL 버전이라고 이해하면 쉬울 것입니다. 조금 더 자세히 알아보자면, MySQL에는 Stored Routine이라는 기능을 제공합니다. 이는 앞서 설명했던 SQL의 모음(set of SQL Statements)으로 서버에 저장되어 사용됩니다. Stored Routine의 하위 개념으로 많이 들어봤을 Stored Procedure와 이 글에서 다루는 Stored..
0. 서론 앞선 글에서 자바의 날짜/시간과 관련된 클래스들에 대해서 알아보았습니다. 이번 글에선 JPA를 이용해서 자바의 클래스들이 MySQL에서 어떤 타입으로 변경 되는지를 알아보고, MySQL에 있는 데이터 타입에 대해서 정리하겠습니다. 💡목표 1. Java의 날짜/시간 클래스가 어떻게 변경되는지 확인한다. 2. DB에 있는 날짜/시간 데이터 타입에 대한 특징을 이해한다. 1. Java의 클래스는 어떻게 바뀌는가? 이번 시간엔 지금까지 알아본 Java의 다양한 날짜/시간 클래스들이 JPA를 통해 기본적으로 어떻게 변환이 되는지, 어떤 타입으로 변경이 가능한지에 대해서 알아보겠습니다. 아래 코드는 예제로 사용할 코드입니다. 앞선 포스팅에서 다룬 클래스인 `LocalDate`, `LocalTime`, `..