개발/DB2 [DB] MySQL DB 순번 재정렬 AUTO_INCREMENT를 사용하여 데이터 순번을 자동으로 메기면 중간 데이터 삭제 시 순번이 밀리는 경우들이 존재한다. 재정렬이 필요할 때 아래 명령어를 사용! SET @cnt = 0; UPDATE 테이블명 SET 열 = @cnt:= @cnt + 1; ALTER TABLE 테이블명 AUTO_INCREMENT = 1; 2023. 4. 29. [DB] 대용량 DB를 처리하기 위한 고민 파티셔닝(Partitioning) 매일 10만건 정도 로그가 쌓이는 대용량 테이블의 경우 최소 수백만개 행의 데이터가 조회되기 때문에 성능개선이 필수적이다. (특히 트랜잭션이 몰리는 시간에는 성능저하가 심해져서 로딩 시간이 너무 길어진다.) 이 글은 성능개선을 위한 DB 파티셔닝(Partitioning)에 대한 글이지만 이외에도 성능개선을 위한 방법은 다양하다. 몇 가지 예를 들자면 아래와 같다. ① 쿼리 최적화 모든 열을 선택하는 대신 필요한 열만 검색하고 WHERE 절을 사용하여 적절히 결과를 필터링해야 한다. 굳이 전체 데이터를 조회할 필요가 없다면 MySQL의 LIMIT이나 ORACLE의 rownum을 활용해서 검색할 행 수를 제한하는 것도 효과적이다. (LIMIT도 효과적으로 쓰는 방법이 있는데 나중에 설명하고자 한다.) ② i.. 2023. 4. 1. 이전 1 다음