일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자동배포
- Jenkins
- rabbitmq
- Stream
- 자동빌드
- java
- 자바8
- 엑셀 업로드
- mssql
- JPA
- stream api
- MessageQueue
- mom
- ORM
- 스트림
- docker
- 그리드
- 보안
- poi
- spring
- Javascript
- sqlserver
- QueryDSL
- JQuery
- DevOps
- apache.poi
- 대용량 업로드
- ci/cd
- 제이쿼리그리드
- jqGrid
- Today
- Total
목록DBMS (10)
개발 메모장

#. 다량의 데이터가 있는 테이블 또는 여러 테이블이 조인 돼있는 쿼리를 실행하면 속도가 느린 경우가 자주 발생하게 됩니다. #. 쿼리가 실행될 때 최대한의 부담을 덜어줘야 DBMS도 최상의 성능을 발휘하여 우리가 원하는 값을 보여줄 것입니다. #. 어떻게 해야 시스템이 부하가 걸리지 않고 빠른 응답을 할지에 대해 파악해보려 합니다. 1. Index 생성 - Where, Join On, Order by 절에서 자주 사용되고 수정하지 않는 컬럼을 파악하여 생성합니다. - Index 생성에 사용한 컬럼은 되도록 Where 조건에 모두 사용하는 것이 좋습니다. - 조건절에 >=, Example- employees 테이블에 employee_id, department_..

#. 지향하는 방법은 아니지만 프로시저를 쓰는 곳이 있기에 작성해겠습니다. #. 프로시저는 많은 SQL을 한 번에 처리하기 위한 DBMS에서 제공하는 실행 기능입니다. #. 장점보단 단점이 부각되어 보이긴 하나 프로시저를 쓰는 곳은 계속해서 쓰는 것 같습니다.#. 프로시저의 장단점장점 1. 요청 한 번에 여러 SQL을 실행이 가능하고 속도가 빠릅니다. - 한 프로시저 내 여러 개의 SQL을 작성하고 서비스가 DB에 접근을 한 번만 하면 되므로 네트워크 측면의 속도가 빠릅니다.2. DBMS에서 프로시저에 대한 관리가 편합니다. - 프로시저에 대한 내용들을 캡슐화하여 저장하고 이를 DBMS가 저장한 프로시저별로 보여주기에 보기 편합니다.단점 1. 유지보수가 어렵습니다. ..

#. DB를 다루다 보면 있어선 안 되지만 실수하는 경우가 발생할 수 있습니다. #. TimeStamp를 이용하여 원복 해보도록 하겠습니다.Step 0. 현재 테이블에는 아래와 같은 데이터가 있고 이후 데이터를 삭제하고 이후 데이터를 추가해 테스트 환경을 만듦 Step 1-1. TimpStamp를 이용하여 조회(현재 시간 기준 - 지정한 이전 시간의 데이터 조회) 원하는 만큼의 시간과 SECOND / MINUTE / HOUR / DAY를 조합하여 사용Example - INTERVAL '30' MINUTE를 이용해 30분 전의 데이터를 조회 SELECT * FROM 테이블 AS OF TIMESTAMP(SYSTIMESTAMP - INTERVAL '30' MINUTE) St..

#. 보통 관리자 계정으로 처리하는 경우도 있으나 관리자 계정으로 직접 쿼리 실행 및 여러 개발자가 동시 접속 등을 하게 되면 보안 및 데이터 관리에 취약할 수 있습니다.(보안 관련 감사 시 필수 확인 대상) #. 따라서 각 사용자마다 각자의 로그인 계정을 관리하고 있어야 합니다. #. 이 경우 아래와 같이 로그인 계정을 생성해 줄 수 있습니다.(필자는 필수적인 것만 적용하여 생성 예정)Step 1. 관리자 계정으로 접속하여 새 로그인 열기Step 2. 일반 탭 설정 - 기본적인 설정로그인 이름 : 계정명SQL Server 인증 : 암호 설정 - SQL Server로 접속 시암호 만료 강제 적용 : 암호 만료에 대한 내용은 필요치 않아 해제다음 로그인할 때 반드시 암호 변경 :..