IT/Database
-
MySQL 테이블 임시 백업 전략IT/Database 2022. 7. 25.
임시 백업 데이터베이스의 테이블 및 데이터 정보를 전체 백업하는 것과 달리 상황에 따라 특정 테이블만 백업하고 싶을 때가 있다. 예를 들어 데이터 마이그레이션을 진행하려고 할 때, postfix로 날짜를 붙여서 별도 테이블로 백업하는 것을 말하는데 전체 백업 및 복구보다 매우 빠르고 쉽게 백업 및 복구를 진행할 수 있기 때문이다. 여기서 백업을 하는 이유는 마이그레이션하는 과정에서 심각한 문제를 발견하게 되었을 때를 고려한 것이다. 백업된 테이블의 내용을 참고하여 잘못된 내용만을 되돌리거나 아예 백업 테이블을 원본 이름으로 변경하여 복구할 수도 있다. 사용자의 주소 정보가 저장된 가상의 테이블 "users_address"가 있다고 가정해보자. 가장 쉽게 백업하는 방법은 아래 명령으로 신규 테이블 생성 및..
-
[SQL] 사용자별 제일 마지막 데이터 조회하기IT/Database 2021. 6. 16.
때때로 사용자 기준으로 제일 마지막 데이터 조회가 필요할 때가 있다. 다양한 방법이 있을텐데 SQL로 간결하게 데이터를 조회할 수 있는 방법을 정리하려고 한다. 결론부터 말하면 사용자 ID를 기준으로 group by를 하고 나서 그 중 updated_at 필드가 가장 큰 값을 조건으로 데이터를 찾으면 된다. 예를 들어 가상의 테이블을 하나 만들어서 확인해보자. 아래는 사용자별 과목에 대한 점수를 저장하는 테이블이다. create table test_score ( id bigint(11) auto_increment comment 'PK' primary key, user_id bigint(11) round int, subject varchar(30), score int, created_at datetime ..