| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- RDBMS
- HTTP상태코드
- 어노테이션
- MariaDB
- 쿼리
- 스프링오류
- JPA
- application.yml
- 스프링시큐리티
- SpringSecurity
- 인텔리제이오류
- 스프링RESTAPI
- Swagger
- 스웨거
- JWT
- HTTP
- restAPI
- 오버라이딩
- API
- 상태코드
- 서버
- 시큐리티
- Static
- 스프링
- 자바
- SQL
- spring
- 의존성주입
- Java
- server
- Today
- Total
목록SQL (7)
취뽀몽
현재 개발서버에 있는 테이블을 그대로 가져와서 테스트 용도로 로컬에 복사해야 할 일이 생겼다.간단한 일이긴 한데, 앞으로 종종 이런 경우가 생길 것 같아서 정리해두려고 한다.일단 CLI 내에서 작업했고, CLI 명령어는 다음에 정리해보도록 하겠다.. 우선 내가 생각했던 방법은 노가다였다. 먼저, 테이블의 CREATE문을 뽑아봤다.DataGrip이나 DBeaver 등 툴에서 테이블의 CREATE문을 뽑을 수도 있지만,CLI 내에서 다음과 같은 명령어로 CREATE문을 생성할 수 있다.SHOW CREATE TABLE 테이블명; 그래서 100개가 넘는 테이블의 CREATE문을 일일이 뽑아놓고, 테스트 스키마에 생성해줬다.그러다가 문득 데이터는 어떻게 넣어야하지? Insert into문을 언제 다 복붙하지? 라..
운영 사이트에서 내가 개발 맡았던 부분의 기능들을 점검해봤는데, 쿼리 실행 시간이 굉장히 길어져서 UX을 저해하는 것 같았다.. 어떻게 하면 쿼리 실행 속도를 높일 수 있을까 고민하다가 사용하게 된 WITH 절에 대해 정리해보려고 한다. 1. WITH 절 이란?쿼리를 작성할 때 임시 테이블이나 하나의 서브쿼리로 사용할 수 있는 기능이다.사실 말로 설명하는 것보다 예시로 설명하는 것이 더 효율적일 것 같아 바로 예제를 살펴보도록 하자. 기본적으로 WITH 절은 다음과 같은 형태로 작성한다.WITH TEST AS ( SELECT A, B FROM TABLE_NAME WHERE ~ -- WITH AS 절로 사용하고 싶은 쿼리문 작성)SELECT *FROM TEST; 그렇다면 WITH 절을 사용..
출근해서 젠킨스 배치를 확인해봤는데, 배치 하나가 이틀 내내 돌고 있었다...주말에 확인을 안 해봐서 정확한 이유는 모르지만 ㅜㅜ 배치가 계속 돌면서 DB에 Lock이 걸린 것 같았다.해결 방법이라고 쓰기에도 애매하지만 ㅎㅎ 방법을 공유하고자 한다. 1. 테이블 Lock 확인배치가 이렇게 오래 돌 경우, Lock이 잡히는 경우가 많아서 (트랜잭션 문제일 수도 있고... 여러 가지 문제로 Lock이 잡히게 된다.) 테이블에 Lock이 걸렸는지 확인해봐야 한다. 사용하는 DB 툴에서 SHOW FULL PROCESSLIST; 명령어로 확인할 수 있다. 회사 DB라 많은 걸 가렸지만.. Lock이 잡힌 경우 'Waiting for table metadata lock' 으로 출력된다.어떤 쿼리를 실행하다가 발생..
젠킨스 배치를 돌렸는데 Unstable 이라고 뜨길래 젠킨스 로그를 확인해봤다.다름이 아니라,,, Column ~ cannot be null 이라는 SQL 오류가 발생하면서, 해당 오류가 발생한 이후로 아무런 데이터를 가져오지 못 했다...원래 null이 들어오는 컬럼이 아닌데, 이번에 리뉴얼 되면서 뭔가 변경된 것 같았다.null이어도 값이 들어올 수 있게끔 null 처리를 해주기로 했다.null 처리 방법은 DBMS 마다 다르므로, 이 점 유의해야한다! 1. MySQL - IFNULL해당 컬럼의 값이 null일 때 다른 값으로 출력할 수 있도록 하는 함수이다.SELECT INNULL(age, "null일 때의 대체값")FROM table_name; 2. Oracle - NVL(표현식1, 표현식2) o..