DBA55 [Spring][Redis] 스프링 부트에서 redis 연동 및 RedisTemplate 사용법 이번 포스팅에서는 스프링 부트에서 redis와 연동하고 값을 저장해보려고 한다. 먼저 스프링 부트에 redis 관련된 의존성을 추가해준다. 만약 기존 진행 중인 프로젝트에 적용한다면 build.gradle에 다음과 같이 의존성을 추가해준다. build.gradle{ . . . implementation 'org.springframework.boot:spring-boot-starter-data-redis' } start.spring.io에서 처음 프로젝트를 생성한다면 Spring Data Redis 의존성을 추가해준다. 그리고 application.properties에 다음 코드를 작성해준다. spring.redis.host=localhost spring.redis.port=6379 처음 레디스 컨테이너를.. 2024. 2. 18. [MySQL] DB 용량 확인, 테이블별 용량 확인 ㅁ 들어가면서 MySQL의 용량을 분석하기 위한 쿼리를 정리하였습니다. update... 댓글의 질문 때문에 확인한 결과, 테이블이 뷰인 경유 용량과 건수는 null로 나타난다. ㅁ 데이터베이스 용량 확인 SELECT table_schema AS 'Database', ROUND(SUM(data_length+index_length)/1024/1024, 1) AS 'Size(MB)' FROM information_schema.tables WHERE table_schema not in ('sys', 'mysql', 'information_schema', 'performance_schema') GROUP BY table_schema ORDER BY 2 DESC; ㅁ 전체 용량 확인 SELECT ROUND(SUM.. 2024. 2. 17. [SQL] SQL 성능확인, Query Plan 보는 법 (Oracle, MySQL) 1. Query Plan이란? SQL 관계형 데이터베이스 관리 시스템(RDBMS)의 데이터 접근에 사용되는 순서가 있는 단계별 집합 엑세스 플랜의 관계형 모델 개념의 특화된 경우 SQL이 선언형이기 때문에 주어진 쿼리를 실행하기 위해 수많은 방법이 존재하는 것이 일반적이며 이에 따라 다양한 성능 차이를 보임 Query Optimizer는 Query 실행을 위한 각기 다른 가능성 있는 올바른 플랜 중 일부를 평가한 다음 최적의 옵션을 고려할 때 반환 2. Query Plan 보는 법, 요소(Oracle) 1) Query Plan 보는 법 위에서 아래로 내려가면서 제일 먼저 읽을 위치 찾기 내려가는 과정에서 같은 들여쓰기가 있으면, 무조건 위에서 아래 순으로 읽기 같은 레벨에 들여쓰기된 하위 스텝이 존재하면.. 2024. 2. 15. [MySQL] 1개의 테이블에 복수개의 인덱스 생성하기 정규화과정에 맞춰 테이블을 설계하고나면 테이블에 PK 컬럼이 필요하게되고 테이블 생성시 Primary key 컬럼이 존재하면 보통 PRIMARY 타입 인덱스가 자동으로 생성된다. PK 값을 조건으로 대량의 데이터가 존재하는 테이블을 조회한다면 PRIMARY 타입 인덱스가 수행되기 때문에 성능에는 문제가 되지 않을 것이다. 하지만 정책에 맞게 비즈니스로직을 구현하다보면은 테이블의 PK 값을 조건으로 데이터를 조회하는것 뿐만이 아닌 FK나 일반 컬럼을 조건으로 데이터를 조회(기본으로 생성된 PRIMARY 타입 인덱스가 수행되지 않아 Full scan) 하는 일이 생길 수 밖에 없다. 이는 인덱스를 추가적으로 생성하여 해결할 수 있다. 시나리오 가정 게임과 어느 한 게임에 등장하는 캐릭터가 존재한다고 가정하자.. 2024. 2. 14. Foreign Key에도 index가 걸릴까? RDS를 쓰면 일대다 관계를 정의해서 사용하는 경우가 잦을 것이다. 테이블 간 일대다 관계를 정의하면 테이블 상으로는 PK, FK를 통해 서로 관계를 매핑시킬 것인데 그러면 FK에는 index가 걸려있을까? 아래와 같이 단순한 유저, 게시물의 경우를 생각해보자. users id (PK) username nickname 1 devson seoul dev 2 chris Chris Brown boards id (PK) user_id (FK) title ... 1 1 DB tuning ... 2 2 What should I do?? ... 테이블에서 확인할 수 있는 것과 같이 유저(users)와 게시물(boards)는 1:N 관계이고 users.id와 boards.user_id를 통해 두 테이블이 매핑이된다. .. 2024. 2. 14. MySQL 성능분석도구 이야기 개요 데이터베이스에 있어서 성능은 포기할 수 없는 부분이다. 아무리 사용하기 편리하고 기능이 많더라도 성능이 나오지 않는 데이터베이스는 현업에서 절대 쓰여질 수 없다. 만족스런 성능의 기준은 DBMS 가 사용되는 시스템의 인입 부하량에 따라 많이 다를 것이다. 어떤 시스템의 경우는 MySQL 의 기본 설정만으로도 충분히 성능 요구치를 만족할 수 있을 것이고, 어떤 시스템은 장시간에 걸친 튜닝 노력을 통해서만 달성할 수 있는 성능수치를 요구할 수도 있다. 때에 따라서는 Disk DBMS 의 성능 최대치로도 부족하여 In-Memory RDBMS 도입을 고려할 수도 있고, Relational DBMS 의 ACID 를 다 만족시키지 않아도 좋으니 그 이상의 극한 성능을 바란다면 적합한 NoSQL 제품을 고려할 .. 2024. 2. 14. 이전 1 ··· 6 7 8 9 10 다음