본문 바로가기

개발/DB6

쿼리 작성 시 주의할 부분... ING 쿼리 스터디를 진행하면서 작성하고 있습니다. 꾸준히 추가 예정 쿼리에는 두가지 종류가 존재한다. OLTP와 OLAP OLTP 쿼리 : 간단한 select 쿼리, 이는 서비스와 트랜잭션에서 사용되는 부분이며 주된 목적은 인덱스를 반드시 사용해서 빠른 시간내에 response를 돌려주는 것이 목표이며, 랜던 I/O로 작업이 진행된다. 이들의 작업은 단일 CPU로도 충분한다. OLAP 쿼리 : 분석용 쿼리, 통계, 집계, 데이터 분석용 등의 분석용 쿼리 이는 응답 속도 보다는 전체 처리 성능을 목표로 둔다. index seek + scan이 가능하며, 랜덤 I/O가 아닌 순차 진행으로 진행 병렬로 처리된다. OLTP와 OLAP의 쿼리의 진행 방법이 완전히 다르기 때문에 작성할 쿼리가 둘 중 어떤 아이로 진행할.. 2023. 10. 10.
select이 느리면 인덱스를 추가해보자 사용자 개인의 다운로드 조회를 진행하면서 조회 쿼리가 약 27s가 걸리는 것을 확인했다. insert의 행위도 아닌데 select을 진행하면서 27초가 걸리는 상황이 너무 당황스러웠는데... 엄청 복잡한 쿼리도 아닌 상황이다. join 테이블이 세개인 상황으로 이상하게 시간이 많이 걸리는 상황이었다.. 1. 컨텐츠 2. 컨텐츠 코드 3. 다운로드 로그 세 테이블을 조인하고 각 컨텐츠의 제일 최신 날짜를 조회해보는 쿼리가 27초라니... 우선 확인을 해보자 처음에는 max date를 검색하는 상황에서 오래 걸리는 건가? 했는데 쿼리를 변경하고도 18초가 소요되는 상황이 발생했다... 그럼 현재 검색 속도를 조금 더 빠르게 하기 위해서 고려할 부분은 두가지 정도 생각해냈다. 1. 해당 로그의 사용자 최신 날.. 2023. 10. 6.
[Postges] Spring Boot + Postgres 설정하기 이 작업은 Spring Boot[Gradle] + Postgres + JPA를 기반으로 작업한 게시글입니다. Postgres 설치는 아래 링크로 https://postgresapp.com/ Postgres.app – the easiest way to get started with PostgreSQL on the Mac Postgres.app is a full featured PostgreSQL installation packaged as a standard Mac app. postgresapp.com 설치후 실행해주면 위와 같은 코끼리가 우리를 반겨준다. 사용할 디비로 이동하면 터미널창이 나오는데 해당 터미널 창에서 사용자 추가와 사용할 데이터 베이스 생성을 진행해주자. \du 명려어를 통해서 현재 존재.. 2022. 11. 15.
Real MySQL 8.0 [ING] http://www.yes24.com/Product/Goods/103415627 Real MySQL 8.0 (1권) - YES24 『Real MySQL 8.0』은 『Real MySQL』을 정제해서 꼭 필요한 내용으로 압축하고, MySQL 8.0의 GTID와 InnoDB 클러스터 기능들과 소프트웨어 업계 트렌드를 반영한 GIS 및 전문 검색 등의 확장 기능들을 추가로 www.yes24.com 1장 MySQL 소개 ... 2장 설치와 설정 MySQL에서 시스템 변수를 변경할 상황이 발생할때가 있다. MyySQL 서버의 시스템 변수는 서버가 기동 중인 상태에서 변경 가능한지에 따라 동적 변수/정적 변수로 구분된다. 현재 시스템 변수의 상태는 show 명령어로 확인 가능하다. 위의 설정 값들은 set으로 변경 .. 2022. 10. 31.
Incorrect string value: '\xED\x85\x8C\xEC\x8A\xA4...' for column~ 한글로 된 값을 입력 insert 할 시, 해당 오류가 발생 charset을 utf8로 변경해주면 된다. ALTER TABLE 테이블명 CONVERT TO CHARSET UTF8 해결~ 2022. 7. 31.
[SQL] select 절 안에서 select 프로젝트 진행 중 # Table tb_a, tb_b inner join a.sno = b.sno # a에는 없는 b.level을 검색해서 들고 오고 싶었음 본래 맡고 있던 프로젝트 해결하고 온 사이에 쿼리가 수정 되어있었다..!! 수정의 요인은 >>성능 저하 2022. 5. 9.