목록코딩하는 문과생 (220)
코딩하는 문과생
[문제] 최근 시스템에서 varchar2로 저장된 날짜 데이터를 조회하기 위해 조건으로 between을 사용하는 경우를 많이 보았다. 데이터가 적은 경우는 크게 문제가 되지 않겠지만, 대용량 데이터를 다루는 기업ERP에서는 between에 해당하는 조건만큼 값을 비교하게 되며 엄청난 시스템 과부하가 올 수 있다. 지난주 DB스터디를 통해 해당 부분을 빠르게 해결할 수 있는 부분을 알게 되어 리뷰해보고자 한다. [해결방법] 해결방법은 생각보다 간단했다. 1. 날짜 테이블을 새롭게 생성해 테이블 내부에 varchar2 데이터 타입인 날짜 데이터를 저장해놓고, 2. 해당 테이블과 기존 테이블을 Join시켜 날짜에 해당하는 값들만 데이터를 가져오는 방법이다. - 날짜 데이터를 between으로 비교하게 되는 경..
인덱스 이해하기 [예시]select * from emp where empno = 2016421. Index가 없는 경우- 201642 정보가 디스크 어떤 블럭에 있는지 모르므로, 10만개 전부 디스크에서 DB Buffer 캐시로 복사한 뒤 Full Scan으로 찾아야 한다. 2. Index가 있는 경우- where절의 조건으로 준 컬럼이 Index의 Key로 생성되어 있는지 확인한 뒤,인덱스에 먼저 가서 201642정보가 어떤 ROWID를 가지고 있는지 확인한 뒤 해당 ROWID에 있는 블럭만 찾아가서 db Buffer 캐시에 복사하게 된다.- 메모리에 위치한 Index 파일을 먼저 찾아 필요한 부분만 디스크에 Access한다. -> 디스크 I/O가 줄어든다.인덱스의 종류1. B-tree 인덱스: OLT..
오라클 메모리 구조 : Instance[ Memory(SGA) + Process(PGA) ] + Database SGA(Shared Global Area) Oracle Server가 시작될 때마다 시스템 전역 영역이 메모리에 할당 된다. 오라클 DBMS에 대한 데이터와 제어정보를 갖고 있는 공유메모리 구조의 그룹니다. SGA의 데이터는 여러 사용자 간에 공유된다. Shared Pool - Shared SQL Area(library cache): 나중에 다시 사용될 경우를 대비 ex. SQL, Parsing SQL, 실행계획 등 - Dictionary Cache: 제어정보를 포함 ex. 데이터베이스 구조, 사용자 참조 정보, 사용자 권한 등 Database Buffer Cache Database I/O를 ..
xPlatformxPlatform은 TOBESOFT사에서 개발한 프론트엔드 솔루션이다. 1. 쉬운 컴포넌트 배치파워포인트처럼 프론트엔드 구성에 필요한 컴포넌트들을 마우스로 쉽게 배치하고 조절할 수 있다. 2. 백엔드와 분리Javascript와 DataSet이라는 개념을 이용해 프론트를 구성하고 Spring과 같은 백엔드와 통신한다. xPlatform 이해하기xPlatform에 대해 공부하며 큰 아키텍처부분만 정리를 해봤다. 1. 조회하기 2. 등록 및 조회하기 3. 단순 화면 변경 UX Studio 구성도: xPlatform 개발IDE 1. Toolbars 2. Project Explorer & Design UX Studio는 개발된 UI화면을 자동으로 소스코드(xml파일)로 만들어 주는 장점이 있다.3..