728x90
반응형
728x90
반응형
# INDEX 인덱스 인덱스란 무엇인가? 인덱스는 데이터베이스 테이블 검색의 성능을 향상시키기 위한 자료 구조이다. 특정 컬럼에 인덱스를 생성하면, 해당 컬럼의 데이터들은 정렬 후 별도의 메모리 공간에 데이터의 물리적 구조와 함께 저장된다. 이 과정을 통해 인덱스가 생성되고 WHERE 조건으로 조회 시 옵티마이저에서 판단하여 생성된 인덱스를 탈 수 있다. 흔히 책의 맨 앞 또는 맨 뒤에 위치한 색인과 동일한 역할을 한다. 일반적으로 SELECT(조회) 성능만 향상된다고 착각하는 경우가 있는데, Update(수정), Delete(삭제) 성능도 향상된다. Update, Delete도 해당 대상 조회 후 수행하는 것이니,,, # 장점 인덱스의 가장 큰 특징은 데이터들이 정렬되어 있다는 점이다. WHERE 테..
DB Partitioning 서비스의 크기, DB에 저장하는 데이터의 규모가 대용량이 되면서, 기존에 사용하는 DB 시스템의 용량(Storage)의 한계와 성능(Performance)의 저하가 발생했다. 즉, VLDB(Very Large DBMS)와 같이 하나의 DBMS에 너무 큰 Table이 들어가면 용량과 성능 측면에서 이슈가 발생했고, 이를 해결하기 위해 Table을 Partition이라는 작은 단위로 물리적 분할하여 관리하는 기법이 탄생했다. 논리적인 데이터 element들을 다수의 entity로 쪼개는 행위, 큰 Table이나 index를 관리하기 쉬운 단위로 분리하는 방법이다. 장점 성능 (Performance) 특정 DML과 Query의 성능을 향상시킨다. 대용량 Data Write 환경에서..
Spring in Action (5판) 스프링 5의 강력한 기능과 생산성을 활용한 웹 애플리케이션 개발 Walls, Craig 지음 제어펍 출판사 2020.05.14 스프링 인 액션 개인 스터디 내용을 정리하자. JDBC (Java Database Connectivity) JDBC는 DB에 접근할 수 있도록 자바에서 제공하는 API이다. Spring의 JDBC 지원은 JdbcTemplate 클래스에 기반을 둔다. JdbcTemplate은 JDBC를 사용할 때 요구되는 모든 형식적이고 상투적인 코드 없이 개발자에게 관계형 데이터베이스에 대한 SQL 연산을 수행할 수 있는 방법을 제공한다. JdbcTemplate 데이터베이스 연결(connection), 명령문(statement), 결과 세트(result s..
MyBatis 객체지향 언어인 JAVA와 SQL Based인 관계형 데이터베이스(RDBMS) 프로그래밍을 쉽게 처리하기 위한 Persistence Framework의 일종이다. 장점 사용이 간단하고, 생산성이 높다. 쿼리의 재사용과 코드의 분리가 수월하다. 유지보수에 용이하다. 복잡한 쿼리나 다이나믹 쿼리에 강하다. resultType, resultClass 등 VO가 아닌, 사용자가 정의한 DTO, MAP 등으로 맵핑하여 사용할 수 있다. 기본 설정 Maven 사용 시 pom.xml에 MyBatis Dependency 설정이 필요하다. org.mybatis mybatis-spring 1.3.2 개별 설정파일에 Property 설정 분리, 커넥션 풀 사용 설정이 필요하다 Mapper.xml 구성 SELE..