일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- avo
- Slick
- Elasticsearch
- coursera
- kafka interactive query
- play framework
- spring-kafka
- springboot
- statestore
- schema registry
- spring-cloud-stream
- enablekafkastreams
- kafkastream
- scala 2.10
- RabbitMQ
- Logstash
- scala
- confluent
- aws
- kafka streams
- Spring
- 플레이 프레임워크
- reactive
- Kafka
- Elk
- 한빛미디어
- 카프카
- kafkastreams
- spring-batch
- gradle
- Today
- Total
목록분류 전체보기 (167)
b
SpringOne2GX 2012 컨퍼런스 후기 나눔 세미나 #1. SpringSpring 3.1 (Dec.2011) - beans profile 기능 -- 으로 설정 -- 자바코드, System환경변수 -Dspring.profile.action="test", web.xml 에서 설정가능 총 3가지 - Java-based Configuration -- Type safe (컴파일시 오류 확인) -- Bean 생성에서 로직을 추가할 수 있음 (동적 구성) - servlet3.0 -- 스펙중 하나 : 필터/서블릿/리스너 등을 자동 스캔할 수 있다. (기존에는 web.xml에 종속적) - cache by annotation -- 파라미터 기반으로 캐싱기능 Spring 3.2 (Dec.2012)- Groovy 기반..
7.4.7 GROUP BY- "특정 칼럼의 값으로 레코드를 매핑", "각 그룹의 집계된 결과를 하나의 레코드로 조회할 때 사용" * MySQL은 그룹 키가 아닌 칼럼이더라도 집합함수없이 GroupBy에 사용할 수 있지만, 제대로 된 사용은 아니다.- SELECT first_name FROM employees GROUP BY gender;-- gender로 그루핑을 해서 M/F 2개의 결과로 묶지만 SELECT는 first_name이다. 이게 M/F그루핑한것중 최소/최대/중간값인지 알수없다.-- "이러한 사용은 가독성 저하" ==> 반드시 GROUP BY에 명시되지 않은 칼럼은 집합함수로 감싸라.-- 이렇게 집합함수를 감싸서 사용할 수 있게 하는것을 'FULL_GROUP_BY' , 옵션으로 enable가능..
java version "1.6.0_30" Java(TM) SE Runtime Environment (build 1.6.0_30-b12) Java HotSpot(TM) 64-Bit Server VM (build 20.5-b03, mixed mode) Compiled from "UseIf.java" public class UseIf extends java.lang.Object{ public UseIf(); Code: 0:aload_0 1:invokespecial#1; //Method java/lang/Object."":()V 4:return public static void main(java.lang.String[]); Code: 0:bipush99 2:istore_1 3:ldc#2; //String 5:..
7.4.6 JOIN * JOIN의 순서와 인덱스인덱스 탐색(Index seek) => 인덱스 스캔(Index scan) => 최종 레코드 Read (일반적으로 가장 먼저 읽히는 테이블을 '드라이빙 테이블'이라 하고 가끔은 아우터 테이블을 드라이빙 테이블이라 하기도 한다) - 드라이빙 테이블을 읽을 때는 '인덱스 탐색'1번 -> 스캔만 계속 실행- 드리븐 테이블은 '탐색', '스캔'을 레코드 건수만큼 반복한다.-- 그래서 1:1로 조인되더라도 드리븐 테이블을 읽는것이 훨씬 부하가 크다.-- 그래서 옵티마이저는 '드리븐 테이블'을 최적으로 읽을 수 있게 최적화한다. * JOIN 칼럼의 데이터 타입- JOIN 에서도 각 칼럼의 타입이 일치하지 않으면 인덱스가 효율적이지 않다. * OUTER JOIN의 주의사항..
출처 :http://dev.kthcorp.com/http://dev.kthcorp.com/2011/06/10/mysql-innodb-engine-3-tips-you-must-know/ 추가적으로 알게 된것...2. PK는 Auto_increment를 적용하는것이 이롭다.
7.4.3 WHERE 절의 비교 조건 사용시 주의 사항 1) NULL 비교 - MySQL에서는 NULL값도 인덱스로 관리된다. SQL정의에 의해 NULL은 "비교할 수 없는 값" 그래서 NULL은 ISNULL을 사용하라. SELECT CASE WHEN NULL IS NULL THEN 1 ELSE 0 END; SELECT * FROM titles WHERE to_date IS NULL (type:ref) ISNULL( )함수를 사용해도 되지만, 주의하라. 인덱스를 이용할 수 없을지도 모른다. 이용X : SELECT * FROM titles WHERE ISNULL(to_date) = 1; 이용O : SELECT * FROM titles WHERE ISNULL(to_date); 2) 문자열, 숫자 비교 - 반..
7.4 SELECT 7.4.1 SELECT의 처리 순서 1) 대부분의 처리 순서 - 드라이빙 테이블 - 드리븐 테이블1 - 드리븐 테이블2 - GROUP BY - DISTINCT - HAVING - ORDER BY - LIMIT 2) 아주 예외적인 - 드라이빙 테이블 - ORDER BY - 드리븐 테이블1 - 드리븐 테이블2 - LIMIT (첫 테이블 읽어, 오더링 후 나머지 테이블을 읽는 경우로, 주로 GROUP BY없이 ORDER BY만 사용된 쿼리에서 볼 수 있다) 3) 이외의 처리 순서가 필요하다면, 서브 쿼리를 사용해야 한다. (LIMIT를 GROUP BY 전에 실행 하는것처럼, 하지만 임시 테이블이 사용되므로 주의할 것) 7.4.2 GROUp BY, ORDER BY의 인덱스 사용 1) 기본 규..
7.3.3 MySQL 내장 함수 (MySQL전용 함수) - IFNULL(A, B) : A가 null 이면 B를 A가 null이 아니면 A를 그대로 반환한다.- ISNULL(A) : A가 null 이면 true(1) , null 이 아니면 false(0) 을 반환한다. - NOW() : 현재시간 반환- SYSDATE() : 현재시간 반환** 일반적인 웹서비스에서 NOW()가 아닌 SYSDATE()를 꼭 사용해야 이유는 없다. 기능은 동일하지만 SYSDATE()는 '호출시점'에 따라 값이 결정되기 떄문에 인덱싱 등에 문제를 가진다. where from_data > SYSDATE() 는 실행때마다 SYSDATE값이 달라진다, 이건 상수가 아닌상태이다!! - DATE_FOMRAT : Date Type -> St..