일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- elasticsearch
- Gradle
- db
- Web Server
- Spring Batch
- JVM
- jsp
- jenkins
- springboot
- AWS
- IntelliJ
- Git
- ReactJS
- linux
- devops
- 요리
- laravel
- Spring
- it
- java
- MySQL
- php
- javascript
- Design Patterns
- 맛집
- Oracle
- redis
- ubuntu
- Spring Boot
- tool
- Today
- Total
목록Data Store (72)
아무거나
-- 예시로 TB_SAMPLE_ONE, TB_SAMPLE_TWO 각각 두개의 테이블이 있고 ID, STATUS 값으로 조인을하여 TB_SAMPLE_ONE 의 TITLE을 TB_SAMPLE_TWO의 TITLE로 업데이트하자 UPDATE ( SELECT a.TITLE, b.TITLE AS MODIFY_TITLE FROM TB_SAMPLE_ONE a, TB_SAMPLE_TWO b WHERE 1=1 AND a.ID = b.ID AND a.STATUS = b.STATUS ) r SET r.TITLE = r.MODIFY_TITLE;
성능 최적화 H/W 세팅 CPU: 8 Core, RAM: 30GB, Disk: 80GB (SSD) 정도로 세팅하여 리소스에 따라 세팅하자. (AWS EC2 기준 m3.2xlarge 부터 추천) Elasticsearch JVM Heap Memory는 32GB 이상 지정할 수 없다. 따라서 64GB 이상을 사용하는 서버를 사용할 이유가 없다. JVM Option은 -Xms와 -Xmx 설정값을 동일하게 설정한다. CPU 사용률이 60% 이상이면 CPU 확장 필요 Document 세팅 Shard Shard 개수는 데이터 크기가 작으면 default 값으로 유지하는게 좋고 데이터 크기가 클수록 응답속도 성능에 맞춰 증가시키는 것이 좋다. Shard의 물리적인 크기는 20GB ~ 40GB 정도의 사이즈가 적절하다...
여러 행으로 되어있는 값을 구분자로 하나의 행으로 표시 // Table Name: MEMBER, Separate Column: LOGIN_ID SELECT LISTAGG(LOGIN_ID, ', ') WITHIN GROUP(ORDER BY LOGIN_ID) separate FROM MEMBER; separate -------------------------- bkjeon, tester, bong92 1 row selected.
Dual Table: 간단하게 함수를 이용해서 결과값을 확인 할 때 사용하는 오라클 자체에서 제공하는 테이블 즉, 테이블 생성 없이 가상 데이터를 만들어 테스트를 할 때 주로 사용한다. SELECT SYSDATE FROM DUAL; SELECT 10 * 20 FROM DUAL; ... 위와 같은 식으로 테이블없이 값을 미리 확인할 수 있다.
문자열 제거 (LTRIM, RTRIM, TRIM) LTRIM: 컬럼에서 지정한 문자를 왼쪽에서 부터 제거 (기본옵션은 공백제거) SELECT LTRIM('테스트 ') AS TEST_ONE, // 테스트(공백제거) LTRIM('테스트', '테스') AS TEST_TWO, // 트 LTRIM('테스트', '스') AS TEST_THREE // 테스트 -> 문자열의 시작이 '스'가 아니므로 전체 문자가 나옴 FROM DUAL RTRIM: 컬럼에서 지정한 문자를 오른쪽에서 부터 제거 (기본옵션은 공백제거) SELECT RTRIM(' 테스트') AS TEST_ONE, // 테스트(공백제거) RTRIM('테스트', '스트') AS TEST_TWO, // 테 RTRIM('테스트', '스') AS TEST_THREE ..
보통 비 IT 부서에서 다량의 데이터를 등록하기 위하여 Excel과 같은 형태로 데이터를 보내주는 경우가 있다. 이럴 경우 기존 DB 모델링 규격과 상이하여 쉽게 데이터를 삽입할 수 없을 때 Excel 함수를 이용한 쿼리를 생성하여 쉽게 하는 방법을 알아보자. 아래 이미지는 타 부서에서 데이터를 삽입해 달라고 전달받은 Excel 파일이다. 2. 아래 이미지와 같이 사원 관련 테이블이 있다. Excel의 "=" 연산을 사용하여 우선 한줄 쿼리를 만들자. - 쿼리를 입력할 때 문자는 '"문자"' 와 같이 입력하고 숫자는 "숫자" 처럼 생성하자. ="INSERT INTO MEMBER VALUES("&A2&", '"&B2&"', '"&C2&"', '"&D2&"')" 3. 해당 셀을 마우스로 끌어내리면 아래와 이..
테이블 설계시 저장되는 default값을 sysdate를 해놓았을 때 데이터 저장이 자꾸 YY/MM/DD 만 되는 경우가 있다. 이 경우 저장은 제대로 되나 툴에서 옵션에 따라 다르게 표시되는 경우가 있다. 해당 포스트는 SQL Developer 라는 툴에서 일어나는 현상이다. 방법은 아래와 같다. 도구 -> 환경설정 -> 데이터베이스 -> NLS 의 날짜형식을 변경
DB를 설계할 때 보통 혼자하면 상관이없지만 여럿이서 하게되면 용어에 대해 혼란이 온다. 예를 들어 상품코드값의 컬럼을 도출해보자. PROD_CD PROD_ID PRODUCT_ID 등.. 위와 같이 여러개의 이름으로 여기저기 흩어져서 설계가 되어있는 경우를 보면 나중에는 큰 혼란을 초래하게 된다. 그래서 데이터 표준화가 필요하며 데이터 표준화는 시스템을 구성하는 데이터 정보 요소에 대해 명칭, 정의, 형식 규칙에 대해 원칙을 수립하여 적용하는것을 말한다. 데이터 표준화의 장점 유지보수 및 운영의 효율성 증대와 관리비용 절감 데이터 요소(entity, property, table, column 등..)의 일관성 데이터 정확성 향상으로 인한 품질상승 데이터 베이스의 정합성 확보 일반적으로 데이터 표준으로 관..
간단한 로그를 저장하는 테이블을 설계해보자. 1. SEQUENCE -- MySQL과 달리 Oracle에서는 Auto Increment 선언을 직접 해줘야 한다. 그것을 SEQUENCE 라는 것을 생성하여 공통객체로 관리한다. CREATE SEQUENCE LOG_NO_SEQ START WITH 1 INCREMENT BY 1 MAXVALUE 99999999999999; ALTER SEQUENCE LOG_NO_SEQ CYCLE; -- SEQUENCE 증가 (YYYYMMDD + 14자리) -- 최대한 중복을 방지하기 위하여 아래와 같은 형식으로 CYCLE을 돌게함. SELECT TO_NUMBER(CONCAT(TO_CHAR(SYSDATE, 'YYYYMMDD'), LPAD(LOG_NO_SEQ.NEXTVAL, 14,..
set Key와 Value를 입력 ex) set key "value" mset 여러개의 key와 value를 한번에 입력한다. ex) set key1 "value1" key2 "value2" setex key와 value, Expries(sec)설정을 입력한다. (입력된 시간이후에 소멸한다.) ex) setex key "value" 3 get key에 해당하는 value를 가져온다 mget 여러개의 key값을 입력하여 value를 동시에 리턴받는다. ex) mget key1 key2 key3 incr integer 데이터에 한해서 숫자를 1씩 증가시킨다. rpush List에 오른쪽으로 데이터를 추가시킨다. ex) rpush Key "value" lrange List의 지정한 범위 내의 값을 리턴한다...