반정규화를 통한 데이터베이스 성능 향상
* 반정규화? 반정규화는 비정규화, 역정규화라고도 한다. 여기서 반은 반대하다의 의미이다. 데이터 무결성이 깨질 위험을 무릅쓰고 데이터를 중복하여 반정규화를 적용하는 것은 데이터를 조회할 때 디스크 IO량이 많아서 성능이 저하된다든지, 경로가 너무 멀어 조인으로 인한 성능 저하가 예상된다든지, 컬럼을 계산하여 읽을 때 성능이 저하될 것이 예상되는 경우에 성능 저하를 막기 위해서이다. 기본적으로 정규화는 입력/수정/삭제 성능을 향상시킬 뿐만 아니라 조회 성능도 향상시키는 역할을 한다. 그러나 정규화를 수행하면 엔티티타입의 갯수가 증가하고 관계가 많아져 여러 개의 조인이 걸려야마 데이터를 가져오는 경우가 있다. 이럴 때 비즈니스적으로 조회 처리 성능이 중요하다고 판단되면 부분적으로 반정규화를 고려하게 된다...
Database
2016. 12. 1. 16:54
[Postgresql] sequence 초기화 / insert
1. 테이블의 데이터를 모두 삭제하고, sequence가 1부터 다시 시작하도록 초기화 먼저 테이블의 모든 데이터를 삭제합니다. DELETE FROM example_table; 그 다음, 테이블의 sequence id를 1로 초기화 합니다. ALTER SEQUENCE example_table_seq_id RESTART WITH 1; 2. 자동으로 증가하는 sequence id INSERT INTO example_table VALUES(nextval('example_table_seq_id'), 'data1');
Database
2016. 11. 9. 18:24