
스프링에서 데이터베이스를 학습하던 도중, WAS나 DB 접근 툴 같은 클라이언트를 사용해 DB서버에 접근 할 수 있다는 것을 학습했다. 이때, 클라이언트는 DB 서버에 연결을 네트워크 요청을 하여 TCP/IP 커넥션을 맺는다. 이때, DB 서버는 내부에 session이라는 것을 만드는데, 그리고 앞으로 커넥션을 통한 모든 요청은 이 session을 통해서 실행하게 된다고 하는데, session이 뭔지, 그리고 DB 내부에서도 요청을 thread per request로 처리하는지 궁금했다. 사실 MySQL의 SQL을 학습할 때에, 변수에 있어서 global variable, session variable이 있는것을 알았는데, session이 정확하게 뭔지 몰랐다. 1. MySQL에서의 Thread MySQ..

어떻게 DBMS가 SQL 쿼리를 실행하는지에 대해서 알아 볼 것이다. 어떻게 '인덱스'라는 것으로 쿼리를 최적화 하는지를 다룰 것이다. 1. 인덱스(Index)란 무엇인가 - 인덱스란 DBMS나 SQL을 사용하는 툴이 제공하는 피처이다. 이 인덱스를 통해서 쿼리의 속도와 성능을 증가 시킬 수 있다. WHERE문을 사용하여 조건에 해당하는 것을 쿼리할 때, 인덱스가 이 검색하는 것을 도와주는 역할을 한다. WHERE문이 없는 쿼리는 테이블 전체를 가져 오기 때문에 더 빠르게 하지 않는다. 위의 그림에서 볼 수 있듯, WHERE + 조건을 통해서 쿼리 할 때, 테이블의 모든 row를 기준에 맞는지 검색해야 하는데, entry가 많고 큰 테이블일 경우 이 모든 row를 검색하는 것이 매우 느리고 비효율적이 될..

1. 쿼리란? 쿼리 대충 무슨 뜻인지 감은 오지만 명확하게 설명할 수 없는 이 느낌을 해소하고자 찾아보았다. 쿼리란 데이터베이스에 정보를 요청하는 것. 데이터베이스에 정보를 요청하기 위해서 몇가지 방법이 있지만, 그 중 한가지 방법이 쿼리 언어를 사용하는 것이다. 그래서 SQL(Structured Query Language)을 알아야 하는 것이다. 2. DBMS란? DBMS(DataBase Management System)은 데이터베이스를 조작하는 별도의 소프트웨어로 DBMS를 통해 데이터 베이스를 관리하여 응용프로그램들이 데이터 베이스를 공유하고, 사용할 수 있는 환경을 제공한다. 구축하는 틀을 제공하고, 효율적으로 데이터를 검색하고 저장하는 기능을 제공한다. 또한 응용프로그램들이 데이터베이스에 접근할..

엔티티란 무엇인가. 구글을 통해 몇 블로그를 찾아보니 다음과 같이 나온다. Entity : 실체, 객체라는 의미로 실무적으로는 엔티티라고 부른다. 즉 업무에 필요하고 유용한 정보를 저장하고 관리하기 위한 집합적인 것으로 설명 할 수 있다. 예를들어 학교라는 곳에서는 과목이라는 엔티티가 존재할 수 있고 엔티티는 인스턴스의 집합으로 나타나게 된다. 즉 과목이라는 엔티티가 있다면, 수학, 영어, 국어와 같은 인스턴스가 과목이라는 엔티티에 포함되는 것이다. 이때 엔티티는 자신이 가지고 있는 인스턴스를 설명할 수 있는, 나타낼 수 있는 속성을 가지게 된다. 그럼 여기서 궁금한것이 속성(Attribute)란 무엇인가? 속성의 사전적 의미는 어떤 사물의 성질이나 특징, 그것이 없다면 실체를 생각 또는 표현 할 수 없..
- Total
- Today
- Yesterday