2024/02/07 2

PostgreSQL Vacuum 관련 쿼리 간단 모음

PostgreSQL를 사용하는 프로젝트에서 DevOps 업무를 맡았을 때 자주 사용했던 쿼리들을 간단히 정리해보았다. -- t_product 테이블의 Auto VACUUM 설정을 비활성화 ALTER TABLE public.t_product SET (autovacuum_enabled = false); -- 가장 오래된 20개의 테이블들의 목록 조회 SELECT c.oid::regclass AS table_name, greatest(age(c.relfrozenxid), age(t.relfrozenxid)) AS age, pg_size_pretty(pg_table_size(c.oid)) AS table_size FROM pg_class c LEFT JOIN pg_class t ON c.reltoastrelid..

DB/PostgreSQL 2024.02.07

[MySQL 8.0] 중복된 인덱스 및 거의 사용되지 않는 인덱스 조회하기

데이터베이스 성능 향상을 위해 모든 엔지니어가 가장 먼저 고려하는 것이 바로 인덱스의 적용이다. 적절한 인덱스를 추가하는 것만으로 왠만하면 성능이 개선되기 때문에 인덱스 추가는 DB 성능 관련해서는 빠질수가 없는 솔루션이다. 인덱스는 성능에 있어 필요하지만 때때로 엔지니어들은 너무 과도하게 인덱스를 사용하는 경우가 있다. 이러한 경우, 중복 인덱스가 발생해서 오히려 전체 성능이 크게 저하되기 마련이다. 인덱스가 많아지게 되면 각 인덱스에 필요한 용량이 늘어나기 때문에 역설적으로 각 인덱스가 사용할 수 있는 가용 메모리의 크기가 줄어들게 된다. 또한, INSERT 등의 write 요청에 대해 고려해야 하는 인덱스의 수가 늘어나게 되면 해당 쿼리의 성능이 점점 떨어지게 된다. MySQL 5.x에서는 중복 인..

DB/MySQL 2024.02.07