DB 6

펌)MySQL 쓰면서 하지 말아야 할 것 17가지 [13~17] With GPT

https://blog.lael.be/post/370 MySQL 쓰면서 하지 말아야 할 것 17가지*MySQL 쓰면서 하지 말아야 할 것 17가지* 권장사항이다. 이것을 이해하면 당신의 어플리케이션이 더 나은 성능을 발휘할 것이다. 다만 이것이 사람의 실력을 판단하는 척도로 사용되서는 안 될 것blog.lael.be 13. Deep Scan 고려하지 않는 것- 검색엔진 크러울러가 쓸고 지나갈 수 있다.웹 어플리케이션에서 페이징을 사용할 때, 컴색엔진 크롤러(bot)가 모든 페이지를 크롤링할 수 있음특히 ORDER BY + LIMIT 을 사용하는 쿼리는 성능 저하 유발할 수 있음크롤러가 수많은 페이지를 요청하면 db는 불필요 연산 수행해야하므로 부하 심해짐;; ex: 크롤러가 모든 페이지 크롤링하는 경우S..

DB 2025.02.09

펌)MySQL 쓰면서 하지 말아야 할 것 17가지 [7~12] With GPT

https://blog.lael.be/post/370 MySQL 쓰면서 하지 말아야 할 것 17가지*MySQL 쓰면서 하지 말아야 할 것 17가지* 권장사항이다. 이것을 이해하면 당신의 어플리케이션이 더 나은 성능을 발휘할 것이다. 다만 이것이 사람의 실력을 판단하는 척도로 사용되서는 안 될 것blog.lael.be 7. 인덱스 레이아웃 이해 못 하는 것- 제대로 인덱스랑 스토리지 엔진 선택하려면 공부 좀 해인덱스란?      - DB에서 데이터 빠르게 찾기 위한 자료구조     - 어떤 인덱스를 사용하느냐에 따라 성능 차이가 큼     - 스토리지 엔진에 따라 인덱스 구현 방식이 다름 ( MyISAM vs InnoDB 등) 스토리지 엔진별 인덱스 방식 비교엔진기본 인덱스 구조특징InnoDB Clust..

DB 2025.02.09

펌)MySQL 쓰면서 하지 말아야 할 것 17가지 [1~6] With Claude

https://blog.lael.be/post/370 MySQL 쓰면서 하지 말아야 할 것 17가지*MySQL 쓰면서 하지 말아야 할 것 17가지* 권장사항이다. 이것을 이해하면 당신의 어플리케이션이 더 나은 성능을 발휘할 것이다. 다만 이것이 사람의 실력을 판단하는 척도로 사용되서는 안 될 것blog.lael.be 1. 작게 생각하기- 조만간 규모가 커질거라면 MySQL ecosystem을 봐야된다.규모가 큰 서비스란 일반적으로 일일 활성 사용자(DAU) 10만명 이상, 초당 트랜잭션(QPS) 1000건 이상을 의미한다.     이렇게 규모가 커지면 단일 MySQL 인스턴스로는 감당이 어려워지고 확장성이 필수적으로 고려되어야 한다. MySQL ecosystem이란 복제(Replicaion), 파티셔닝,..

DB 2025.02.09

Mysql PK 생성전략 (+Clusted Index, PostgreSQL Serial)

MySQL vs PostgreSQL: PK와 인덱스의 차이** MySQL에서 AUTO_INCREMENT 는 짱짱맨이다.MySQL에서 AUTO_INCREMENT를 쓰면 클러스터드 인덱스가 만들어지고, MySQL 엔진이 알아서 순차적인 숫자를 빠르게 생성해 준다.그냥 이거 하나만 써도 충분하다.MySQL이 최적화된 방식으로 AUTO_INCREMENT 값을 생성하니까, 성능적으로 큰 문제 없다..그런데...ID 값이 단조 증가하다 보니까, 다음 ID가 예측 가능하고.DELETE 후에도 ID가 재사용되지 않는다. (숫자에 구멍 생김).대량 INSERT 시 AUTO_INCREMENT 락이 걸릴 가능성 있고.분산 시스템에서는 AUTO_INCREMENT 값이 충돌될 가능성 있다.(고 한다...)**몇 가지 대안을 ..

DB 2025.02.07

mariadb 컨테이너 exec -it 로 접근 안될때

docker-compose로 만들어둔 컨테이너에docker exec -it mariadb mysql -u root -p가 안된다... TARS  ~/Documents/Github   main ± docker exec -it mariadb mysql -u root -pOCI runtime exec failed: exec failed: unable to start container process: exec: "mysql": executable file not found in $PATH: unknownWhat's next: Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debu..

DB 2025.02.07

MySQL root 비밀번호 재설정

일반 유저로 DDL 넣으려는데 디나이 당해버림보 root 계정 패스워드 잊어버림프절 ※ 모든 권한 받은 일반 유저 패스워드를 알고 있으면 요로코롬 할 수 있습니다람쥐 기본적으로 MariaDB 및 MySQL에서 root 계정은 시스템 전체에 대한 최고 관리자 권한을 가진 사용자이며,root 계정에 대한 비밀번호 변경 작업은 동등하거나 더 높은 권한을 가진 사용자만이 수행할 수 있습니다.  버전은SELECT VERSION();-----------------10.6.12-MariaDB----------------- 였삼먼저 혹시 모르니까 백업을 했습니다람쥐 특정 데이터베이스만 하려면 mysqldump -u root -p my_database > my_database_backup.sql 모든 데이터베이스 하려면..

DB 2024.10.23