목록db (16)
송민준의 개발노트
Oracle을 기준으로 DB는 저장공간을 Extent 단위로 할당한다. 만약 MAX 값 넘어서게 되면 용량 초과 오류가 발생한다. 또한 DELETE문으로 데이터를 삭제하면 용량이 감소하는 것이 아닌 삭제 여부만 표시한다.(용량은 그대로) 테이블의 용량을 초기화하기 위해선 // 테이블 데이터 삭제, 용량은 감소 X DELETE FROM 테이블 // 테이블 데이터 삭제, 용량 초기화 TRUNCATE TABLE 테이블
DB에서는 데이터를 입력하면 로그파일에 기록한다. 즉 DML이 발생하면서 많은 양의 로그들이 발생하는 것이다. 이런 부분에서 성능이 저하될 수도 있다. Check point 라는 이벤트가 발생하면 로그파일의 데이터를 데이터 파일에 저장한다. Nologging 옵션은 로그파일의 기록을 최소화시켜서 입력 시 성능을 향상시키는 방법이다. Nologging 옵션은 Buffer Cache 라는 메모리 영역을 생략하고 기록한다. INSERT INTO DEPT_TEST SELECT * FROM DEPT; 위와 같은 INSERT 구문을 Direct Insert를 사용함면 적은 양의 Redo를 생성한다. (성능 개선을 위해선 Redo를 줄여야함) ALTER TABLE DEPT_TEST NOLOGGING; INSERT /..
1. 디비 생성 2. 데이터베이스 생성 클릭 후 생성 중 끝날 때까지 기다리면 됨. 3. 파라미터 그룹 클릭 후 파라미터 생성 4. 파라미터 편집 클릭 5. 파라미터 각각 검색해서 설정 타임존 설정 - 아시아 서울 설정 utf8mb4 설정 utf8과 utf8mb4의 차이는 이모지 저장 가능 여부이다.(이모지는 이모티콘 같은거다) 6. 편집 저장 7. 파라미터 적용을 위해 수정 클릭 8. 파라미터 그룹 설정 9. 즉시 적용을 한다. (실 사용이면 예약된 새벽 시간대에 하는게 좋음) 10. 확실한 적용을 위해 재부팅 11. 보안 그룹 클릭 편집해서 mysql/aurora 클릭해서 각각 보안그룹과 내 IP를 추가 12. 인텔리제이로 가서 db연결 13. 각각 값 입력 Name은 맘대로, Host는 AWS RD..
build.gradle에 아래 코드 추가 compile('org.springframework.session:spring-session-jdbc') application.properties에 아래 코드 추가 spring.session.store-type=jdbc 로그인 후 h2-console에 입력으로 확인 select * from spring_session
세션 저장소 방법 1. 톰켓 세션을 사용 - 최초 기본적으로 선택되는 방식 - 톰캣에 세션이 저장되기 때문에 2대 이상의 WAS가 구동되면 톰캣간에 세션 공유를 위한 추가 설정 필요 2. DB를 세션 저장소로 사용 - WAS 간 공용 세션을 사용하기 가장 쉬운 방법임. - DB에 접근을 하기에 성능 이슈가 생길 수 있음 - 로그인이 많이 필요없는 서비스에서 많이 씀(사내 시스템, 백오피스 등) 3. Redis, Memcached와 같은 메모리 DB를 세션 저장소로 사용 - B2C 서비스에서 가장 많이 사용하는 방식입니다. - 실제 서비스로 사용하기 위해서는 Embedded Redis와 같은 방식이 아닌 외부 메모리 서버가 필요.
1. AWS 콘솔 접속 2. AWS RDS 들어가서 옵션 그룹 클릭 -> 그룹 생성 3. 본인이 인스턴스 생성한 환경으로 설정 4. 옵션 그룹 리스트에서 생성한거 체크 후 옵션 추가 버튼 클릭 -> Time Zone 클릭 후 수정 5. 리스트에 아래와 같이 Timezone이 떠야 정상 6. RDS 인스턴스에서 가서 옵션 그룹 생성한 것으로 설정 후 수정
썸머노트에 데이터를 입력하는 방법은 두가지가 있다. 1. 썸머노트가 제공해주는 라이브러리 사용 $('#board_content').summernote('editor.insertText', "${board_data.BOARD_CONTENT}") 만약 DB에서 불러온게 태그가 들어가 있으면 태그도 그대로 출력이 된다. 즉 최초 '테스트' 값을 넣었으면 아래와 같이 나오는 것이다. 테스트 다른 방법으로 아래와 같은 방법이 있다. $('#board_content').summernote('code', '${board_data.BOARD_CONTENT}'); 2. 값 넣은 후 썸머노트 초기화 그렇다면 사용자가 보기에는 태그가 나오면 안되는데 어떻게 해야할까? // 서머노트 초기화 $('#board_content')..
계층형 쿼리(Hierarchical Query)는 오라클에서만 지원하는 기능이다. 관계형(relational)이라는 의미가 서로 평등하고 수평적인 관계를 의미하는 반면 계층형(hirearchical) 구조는 이와는 다르게 평등한 관계가 아닌 수직적인 관계를 가진다. 한마디로 말해서 관계형이 평면적이라 한다면 계층형은 수직적 구조라 할수있다. 계층형 정보에는 사회적인 의미의 계급구조, 등이 있고 소프트웨어 관점에서 살펴보면, 웹사이트에서 사용하는 답변형 게시판이나 BOM(Bill Of Material)등이 계층형 정보의 전형적인 예이다. 예를 들어 직원 테이블에 기본키가 사원번호이고 상관번호를 가지고 있다면 계층 구조를 사용할 수 있다. EMP 테이블에서 select level, empno, ename f..