일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- aop
- react
- vue.js
- AWS RDS
- 인덱스
- 자바스터디
- 클린코드
- 이팩티브 자바
- CleanCode
- 스프링부트와AWS로혼자구현하는웹서비스
- 이펙티브 자바
- MariaDB
- DDD
- 인프런백기선
- 알고리즘
- 알고리즘분석
- java
- 자바
- 자바예외
- SQL쿡북
- jpa
- 기술면접
- 도메인 주도 개발 시작하기
- 자료구조
- AWS
- 인프런김영한
- mysql
- 혼공SQL
- 이펙티브자바
- 네트워크
- Today
- Total
목록전체 글 (272)
기록이 힘이다.

4.1 새로운 레코드 삽입하기 4.2 기본값 삽입하기 create table D (id integer default 0) -------------------------------------------------------------------- insert into D values (default) -------------------------------------------------------------------- insert into D (id) values (default) 모든 데이터베이스는 열에 대한 기본값을 명시적으로 지정하는 방법으로 DEFAULT 키워드 사용을 지원합니다. 4.3 null로 기본값 오버라이딩하기 4.4 한 테이블에서 다른 테이블로 행 복사하기 4.5 테이블 정의 복사하기..
mongoDB를 기반으로(다른 데이터베이스에서도 적용이 가능하다) 1. 인덱스는 비용이다. 인덱스는 두 번 탐색하도록 강요합니다. 인덱스 리스트, 그다음 컬렉션 순으로 탐색하기 때문이며, 관련 읽기 비용이 들게 됩니다. 그렇기 때문에 쿼리에 있는 필드에 인덱스를 무작정 다 설정하는 것은 답이 아닙니다. 2. 항상 테스팅하라 인덱스 최적화 기법은 서비스 특징에 따라 달라집니다. 서비스에서 사용하는 객체의 깊이, 테이블의 양 등이 다르기 때문이죠. 그렇기 때문에 항상 테스팅하는 것이 중요합니다. 3. 복합 인덱스는 같음, 정렬, 다중 값, 카디널리티 순이다 보통 여러 필드를 기반으로 조회를 할 때 복합 인덱스를 생성하는데, 이 인덱스를 생성할 때는 순서가 있고 생성 순서에 따라 인덱스 성능이 달라집니다. 같..

여러 테이블의 데이터를 결합하는 방법/ 조인은 SQL의 기초이고 집합 연산도 중요합니다. 이 책의 후반부에 나오는 복잡한 쿼리를 이해하려면 지금부터 조인 및 집합 연산을 시작해야 합니다. 3.1 행 집합을 다른 행 위에 추가하기 UNION ALL은 여러 행 소스의 행들을 하나의 결과셋으로 결합합니다. 모든 집합 연산과 마찬가지로 모든 SELECT 목록의 항목은 숫자와 데이터 유형이 일치해야 합니다. 중복을 필터링하려면 UNION 연산자를 사용 필수가 아니라면 쿼리에서 DISTINCT는 가능한 한 사용하지 않습니다. 이 원칙은 UNION에도 똑같이 적용됩니다. 꼭 필요한 경우가 아니면 UNION ALL 대신 사용하지 마세요. 3.2 연관된 여러 행 결합하기 https://helloworld92.tistor..
TraceId 클래스 로그 추적기는 트랜잭션ID와 깊이를 표현하는 방법이 필요하다. 여기서는 트랜잭션ID와 깊이를 표현하는 level을 묶어서 'TraceId'라는 개념을 만들었다. TraceId는 단순히 id(트랜잭션ID)와 level 정보를 함께 가지고 있다. package hello.advenced.trace.hellotrace; import hello.advenced.trace.TraceStatus; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.*; class HelloTraceV1Test { @Test void begin_end() { HelloTraceV1 trace = new HelloTra..
클래스의 인스턴스가딱 1개만 생성되는 것을 보장하는 디자인 패턴이다. 그래서 객체 인스턴스를 2개이상 생성하지 못하도록 막아야 한다. private 생성자를 사용해서 외부에서 임의로 new 키워드를 사용하지 못하도록 막아야 한다. package hello.core.singleton; public class SingletonService { //1. static 영역에 객체를 딱 1개만 생성해둔다. private static final SingletonService instance = new SingletonService(); //2. public으로 열어서 객체 인스터스가 필요하면 이 static 메서드를 통해서만 조회하도록 허용한다. public static SingletonService getInst..

2.1 지정한 순서대로 쿼리 결과 반환하기 2.2 다중 필드로 정렬하기 2.3 부분 문자열로 정렬하기 DBMS의 부분 문자열 함수를 사용하면 문자열의 모든 부분을 기준으로 쉽게 정렬할 수 있습니다. 2.4 혼합 영숫자 데이터 정렬하기 MySQL에서는 해법을 제시하지 않는다. 2.5 정렬할 때 null 처리하기 p52 값이 null일 때 CASE 식을 사용하여 플래그를 수행합니다. 즉, 두 개의 값을 지니는 플래그를 갖는 것입니다. 2.6 데이터 종속 키 기준으로 정렬하기 2.7 마치며 쿼리 결과를 정렬하는 것은 SQL 사용자의 핵심 기술 중 하나입니다. 각 해법에서의 미묘한 차이를 이해해야 합니다.

기본적인 내용은 생략하고 내용을 정리합니다. 1.1 테이블의 모든 행과 열 검색하기 1.2 테이블에서 행의 하위 집합 검색하기 1.3 여러 조건을 충족하는 행 찾기 1.4 테이블에서 열의 하위 집합 검색하기 1.5 열에 의미 있는 이름 지정하기 1.6 WHERE 절에서 별칭이 지정된 열 참조하기 쿼리의 순서는 from -> where -> select 로 실행되므로 인라인 뷰를 통해서 별칭을 참조할 수 있다. p31 ==>모든 데이터베이스에서 별칭 지정을 허용한다. 문제) where 절에서 별칭 참조 실패 해법) 쿼리를 인라인 뷰로 감싸서 별칭이 지정된 열을 참조 1.7 열 값 이어 붙이기(mysql) -- DB2, Oracle, PostgreSQL, SQL Server의 사례도 나온다. p 34 1.8..

교재(SQL 쿡북)를 보고 테이블을 생성하려다 보니 다른 DB 문법이라 그런지 number를 단순히 int로 변경하였는데 경고가 발생하였습니다. integer display width is deprecated and will be removed in a future release 정수 표시 너비는 더 이상 사용되지 않으며 향후 릴리스에서 제거됩니다. https://studyingpingu.tistory.com/51?category=1014546 [MySQL] 워닝 문구 상세 내용 확인하는 법 (feat. Warning 1681) Warning | 1681 | Integer display width is deprecated and will be removed in a future release. 예제를 따..