본문 바로가기
728x90

전체 글86

[MySQL] Explain Explain? MySQL에서 실행 계획이 무엇인지 알고 싶을 때 사용하는 명령어 *실행계획 : 사용자가 작성한 SQL이 요구한 사항을 효율적으로 처리하기 위해 옵티마이저가 작업의 방법과 순서를 결정하는 것 사용방법 EXPLAIN [EXTENDED] SELECT ... FROM ... WHERE ... id : 어떤 SELECT문을 나타내는 지를 알려주는 것으로 순서에 따라 순차적으로 번호가 부여된다. select_type : select문의 유형 SIMPLE : Union 이나 Sub Query 가 없는 단순 SELECT 문 PRIMARY : Sub Query를 사용할 경우 Sub Query의 외부에 있는 쿼리(첫번째 쿼리) UNION 을 사용할 경우 UNION의 첫 번째 SELECT 쿼리 DERIVE.. 2021. 6. 24.
[DB]Partitioning 1. Partitioning? 데이터가 많은 테이블이나 인덱스를 관리하기 쉬운 단위로 분리하는 방법 장점 Availability (가용성) - 물리적인 Partitioning으로 인해 전체 데이터의 웨손 가능성이 줄어들고 데이터 가용성이 향상된다. Manageability (관리용이성) - 큰 Table들을 제거하여 관리를 쉽게 해준다. Performance (성능) - 특정 DML과 Query의 성능을 향상시킴, 대용량 환경에서 효율적이다. - 많은 Insert가 있는 OLTP시스템에서 Insert 작업을 분리된 파티션들로 분산시켜 경합을 줄인다. 단점 - Table간의 Join에 대한 비용이 증가한다. - 테이블과 인덱스를 별도로 파티션할 수 없다. 2.Partitioning 범위 Range Part.. 2021. 6. 24.
[modern java in action] stream(5) 5-1 컬렉터린 무엇인가? → Collector 인터페이스 구현은 스트림의 요소를 어떤 식으로 도출할지 지정한다. / collect로 결과를 수집하는 과정을 간단하고 유연한 방식으로 정의할 수 있다는 점이 장점 보통 함수를 요소로 변환할 때는 컬렉터를 적용하며 최종결과를 저장하는 자료구조에 값을 누적한다. 미리 정의된 컬렉터 스트림 요소를 하나의 값으로 리듀스하고 요약 요소 그룹화 요소 분할 5-2 리듀싱과 요약 → 컬렉터로 스트림의 모든 항목을 하나의 결과로 합칠 수 있다. 트리를 구성하는 다수준 맵, 메누의 말로리 합계를 가리키는 단순한 정수 등 다양한 형식으로 결과가 도출될 수 있다. long howManyDishes = menu.stream().collect(Collectors.counting().. 2021. 6. 24.
[modern java in action] stream(4) 4-5 리듀싱 스트림의 모든 요소를 반복적으로 처리해서 값을 도출하는 연산을 리듀싱 연산이라고 한다. 함수형 프로그래밍 언어 용어로는 이 과정이 마치 종이를 작은 조각이 될 때까지 반복해서 접는 것과 비슷하다는 의미로 폴드라고 부른다. 1)요소의 합 (reduce) int sum = numbers.stream().reduce(0, (a,b) -> a + b); //누적값 계산 reduce( 초기값 , 두 요소를 조합해서 새로운 값을 만드는 BinaryOperator) 2)초기값 없음 Optional sum = numbers.stream().reduce((a , b) -> (a + b);) 이런경우 Optional객체를 반환한다. 스트림에 아무 요소도 없는 경우 초기값이 없으므로 reduce는 합계를 반환.. 2021. 6. 24.
728x90