Infra & Tools/MYSQL
-
MySql 조회 성능 최적화를 위한 Index 의 이해(2)Infra & Tools/MYSQL 2023. 9. 14. 23:04
이전 글에서 인덱스의 특징 설명을 했으니,, 실습을 해봤다. -> 다음 문장이 실제인지 알아보자. 1000 만건의 데이터의 통계를 위해 4000 만 건을 읽는 작업에서는(전체 테이블 레코드의 20 %) 인덱스를 이용하지 않는게 올바른 판단일 수가 있다. 다음과 같이 인덱스를 명시하지 않았으면 인덱스가 있다면 옵티마이저가 알아서 인덱스를 설정한다. (그렇다고 항상 최적으로 인덱스 설정하는것도 아님) 인덱스를 만들기 전에 , 인덱스가 없는 경우를 먼저 측정을 하고, 인덱스를 생성한 후 비교를 해주자. select created_time ,updated_time ,count(feed_id) as count from feed where member_id = 4 and created_time between '20..
-
DB 서버에서 한번에 받아들일 수 있는 최대 쿼리 크기?Infra & Tools/MYSQL 2023. 8. 24. 15:10
my sql 의 서버에서 한번에 받을 수 있는 쿼리의 크기는 무제한이 아니다. 한번의 받을 수 있는 쿼리 크기를 확인 하는 명령어는 다음과 같다. show variables where Variable_name = 'max_allowed_packet' 내 로컬 컴퓨터의 MYSQL 의 max_allowed_packet 의 값은 67MB 이다. cf 1Byte * 10^3 = 1KB 1KB * 10^3 = 1MB MySQL 5.7 ,8.0 공식 문서에 따르면 기본 사이즈의 크기는 최대 약 4MB,67MB 이며 , 패킷의 메시지 버퍼는 net_buffer_length 의 바이트 크기 만큼 초기화 되어서 사용이 된다. 각각의 클라이언트 스레드는 연결 버퍼와 결과 버퍼에 연관이 되어있으며 , 두개의 버퍼 크기 모두..
-
MySql 조회 성능 최적화를 위한 Index 의 이해(1)Infra & Tools/MYSQL 2023. 8. 16. 19:11
MySql 과 SpringBoot 에서 데이터 조회 성능을 최적화하기 위한 방법들은 다양하다. 다음 두가지의 방식을 생각해 볼 수 있다. 1. 메모리의 캐쉬 hit 을 올린다 CPU 내부의 L1~L3 캐시와 같은 하드웨어 캐시의 히트율을 높이는 방식으로 프로그래밍을 한다. - SPring 에서 @Cacheable ,@CacheEvict 등을 사용한 캐싱 로직을 구현 하는 것 도 있다. - 추가로 Mysql 의 쿼리 캐시의 경우 5.6 은 deprecate 이며, 8.0 에서는 제거 되었다. 2. 인덱싱 - 적절한 인덱스를 DB 테이블에 설정하여 조회에 자주 사용되는 컬럼 또는 JOIN 연산에 사용되는 칼럼에 인덱스를 설정한다. 데이터의 조회 성능 최적화 중 데이터 베이스와 관련된 하나의 방법에는 디스크 ..
-
AWS RDS 무료 범위 정리Infra & Tools/MYSQL 2023. 6. 17. 19:03
Amazon RDS 프리 티어는 12개월 동안 사용할 수 있습니다. 매월 프리 티어를 통해 아래 나열된 Amazon RDS 리소스를 무료로 사용할 수 있습니다. 단일 AZ db.t2.micro, db.t3.micro 또는 db.t4g.micro 인스턴스에서 Amazon RDS를 750시간 사용. 20GB의 범용 스토리지(SSD). 20GB의 자동 백업 스토리지 및 사용자가 시작한 모든 DB 스냅샷. 1. 사용하지 않는 rds 는 종료하자... 2. 20GB의 범용 스토리지(SSD) -> 30 GB 의 ssd 를 신청한 필자는 멍청하게 돈을 지불했다.. 필요한 만큼 잘 계산하자. + 30GB 에서 20GB 로 줄여주는 마법 같은 기능은 없다. 3. 단일 AZ , Multi - AZ 체크를 해제 하자. 4...
-
Mysql 오류(RDS 접근, 엑세스 오류 등)Infra & Tools/MYSQL 2023. 5. 10. 23:46
ex 1) Access denied for user '' @ ''(using password: YES) ex 2) AWS RDS mysql workbench 접속 에러 등 mysql 을 사용하면서 만났던 오류들을 한번 정리를 하고자 한다. 다양한 상황과 버전별 약간의 차이가 있으니 현제 os 버전과 mysql 의 버전을 확인해주자. 1. 로컬에서 사용해서 로컬에서 접근 오류가 나는 경우 2. aws ec2 에 우분투 18 을 설치하고 mysql 을 설치 하는경우 3. RDS 에서 mysql workbench 접속이 안되는 경우 등,,, 4. 한글 오류등 ----- 1. 비밀 번호 설정을 확인하자. 우분투 18 버전은 현제 mysql 버전 5.6 을 설치 가능하며 버전 8은 설치가 불가하다. 중요한 점은 ..
-
TIL-JS&MYSQLInfra & Tools/MYSQL 2022. 6. 4. 21:07
db.query(` INSERT INTO topic (title, description, created, author_id) VALUES(?, ?, NOW(), ?)`, [post.title, post.description, 1], why we use DataBase ? DataHandling efficent. all O.S have their own file system, mysql 설치 경로 MaC $ cd /usr/local/mysql/bin make datatable $ ./mysql -uroot -p [로그인 오류] 유형 1) ERROR 1045 (28000): Access denied for user 'root@'localhost' (using password: NO) - 사용자의 비밀번호가 ..