본문 바로가기

Engineering WIKI/Database15

저장 프로시저 (SP) 개념 뿌수기 사용 이유 먼저, SQL Server의 성능을 향상 시킬 수 있다. 저장 프로시저를 처음에 실행하면 최적화, 컴파일 단계를 거쳐 그 결과가 캐시(메모리)에 저장되게 되는데, 이 후에 해당 SP를 실행하게 되면 캐시(메모리)에 있는 것을 가져와서 사용하므로 실행속도가 빨라지게 된다. 그렇기 때문에 일반 쿼리를 반복해서 실행하는 것보다 SP 를 사용하는게 성능적인 측면에서 좋다. 두번째, 유지보수 및 재활용 측면에서 좋다. C#, Java등으로 만들어진 응용프로그램에서 직접 SQL문을 호출하지 않고 저장 프로시저의 이름을 호출하도록 설정하여 사용하는 경우가 많은데, 이때 개발자는 수정요건이 발생할때 코드 내 SQL문을 건드리는게 아니라 SP 파일만 수정하면 되기 때문에 유지보수 측면에서 유리해진다. 또한 한.. 2022. 4. 5.
[Oracle] 시퀀스 정리 시퀀스 생성 CREATE SEQUENCE '시퀀스이름 (대문자)' START WITH 1 INCREMENT BY 1 MAXVALUE 999999 CYCLE NOCACHE; 오라클 현재 시퀀스 값 확인 SELECT LAST_NUMBER FROM USER_SEQUENCES WHERE SEQUENCE_NAME = '시퀀스명(대문자)'; 오라클 시퀀스 테이블 확인 SELECT sequence_name FROM user_sequences; 2020. 11. 30.
[Oracle] selectKey 사용 INSERT INTO PRODUCT(PRD_ID, PRD_DESCRIPTION) VALUES(STOCKIDSEQUENCE.NEXTVAL, #description#) SELECT STOCKIDSEQUENCE.NEXTVAL AS ID FROM DUAL INSERT INTO PRODUCT(PRD_ID, PRD_DESCRIPTION) VALUES(#id#, #description#) 출처 : hyeonstorage.tistory.com/280 2020. 11. 29.
[Oracle] Vachar2 컬럼을 CLOB 간단 변경 변경하려는 컬럼에 데이터가 없는 경우 Varchar2 → LONG → CLOB 순으로 변경 변경하려는 컬럼에 데이터가 있는 경우 새로운 컬럼을 추가 ALTER TABLE table_name ADD (TMP_CONTENTS VARCHAR2(4000)); 데이터를 복사합니다 UPDATE table_name SET TMP_CONTENTS = CONTENTS; UPDATE table_name SET CONTENTS = NULL; COMMIT; 기존 컬럼을 LONG 타입으로 변환합니다. ALTER TABLE table_name MODIFY (CONTENTS LONG); 기존 컬럼을 CLOB 타입으로 변환합니다. ALTER TABLE table_name MODIFY (CONTENTS CLOB); 데이터를 복사합니다.. 2020. 11. 25.
[Mysql] 데이터 백업 및 복구 Test Data DB Name : test_db 테이블 : test_table 사용자 계정 : test_user DB 접속계정 패스워드 : 123456 MySql DB 백업하기 사용옵션 # mysqldump -u [사용자 계정] -p [패스워드] [원본 데이터베이스명] > [생성할 백업 DB명].sql 사용방법 # mysqldump -u test_user -p test_db > backup_test_db.sql passowrd : 123456 MYSQL DB 복원하기 사용옵션 # mysql -u [사용자 계정] -p [패스워드] [복원할 DB] < [백업된 DB].sql 사용방법 # mysql -u test_user -p test_db < backup_test_db.sql passowrd : 12345.. 2020. 6. 10.
[ElasticeSearch] Delete Query prevent 모든 인덱스 삭제 및 방어 모든 인덱스 삭제 curl -XDELETE 'http://localhost:9200/*' 방어설정은 elasticsearch.yml → action.destructive_requires_name: true 로 바꿔놓자. 2020. 3. 29.