컴퓨터과학/SQL 2

AWS DB 인스턴스 MySQL 시간설정

1. 현재 db 시스템의 시간을 확인한다. select now(); 현재 시간과는 다른 시간이 나온다 (서울기준) 2. db의 timezone이 어디로 지정되어있는지 확인한다. show variables like 'time_zone'; UTC로 설정되어있다. (그리니치 천문대가 있는 영국의 시간) 3. 시간을 바꾸려고 aws 사이트를 뒤져보았다 내 mysql 엔진은 8.0이므로 db 파라미터 그룹에서 시간을 변경하기로 한다. 4. 시간 변경에대한 aws의 의견은 아래와 같다 어플리케이션을 운용할 때에 UTC 시간을 사용하는것이 이후 수정의 필요가 없어지므로 제일 좋다고 한다. 대신 어플리케이션 계층에서 시간을 변환하여 사용하는것을 추천한다. 하지만 토이프로젝트를 진행하는 현재 편의성을 위해 본 게시글에서..

컴퓨터과학/SQL 2021.08.03

[SQL] order by를 이용한 정렬방식의 과부하와 인덱스를 통한 해결방법

수십, 수백만 개의 데이터를 리스트할 때, order by를 사용하게되면 각각의 데이터를 방문하며 소팅(sorting)하게 되면서 엄청난 성능저하가 일어나게 된다. 이 때 인덱스 칼럼을 지정해서 pk보드로 만들어둔다면 이미 정렬되어있는 인덱스를 통해 성능저하 없이 데이터를 정렬할 수 있게된다. 예시 select /*INDEX_DESC(tbl_board pk_board)*/ * from tbl_board where bno > 0 pk_board는 테이블 생성시 제약조건으로 지정한것으로 tbl_board를 pk_board의 내림차순으로 정렬하는 방식으로 tbl_board를 조회하게된다. 여기서 /* */ 내부값은 오라클에서 사용하는 '힌트'로, select문을 처리하는 방법에대해 기술을 하며 이에따라 sql..

컴퓨터과학/SQL 2021.03.02
반응형