본문 바로가기

전체 글128

[친절한 SQL 튜닝] 1장 - Library Cache / SQL 최적화 과정 / Soft, Hard Parsing / 바인드 변수 Library Cache내부 프로시저를 반복 재사용할 수 있도록 캐싱해두는 메모리 공간SGA (System Global Area): 서버 프로세스와 백그라운드 프로세스가 공통으로 액세스하는 데이터, 제어구조를 캐싱하는 메모리 공간 SQL 최적화 과정SQL 파싱SQL 파서가 수행파싱 트리 생성 - Syntax 검사 (문법 검사) - Semantic 검사 (권한, 존재 여부 검사)SQL 최적화옵티마이저가 수행다양한 실행 경로를 생성, 비교하여 가장 효율적인 경로 1개를 선택로우 코드 생성row-code 생성기가 수행실행 경로를 실제 수행 가능한 코드, 프로시저로 포맷팅Soft, Hard ParsingSQL 캐싱 여부에 따라 soft, hard parsing 사용hard parsing은 cpu를 많이 사용한다.. 2025. 7. 28.
Oracle 19c docker 설치 (mac m1 arm) - 참고(mac m1) https://youtu.be/uxvoMhkKUPE?si=Zt_zPM2FZ7lu98-Uhttps://growupcoding.tistory.com/18 1. docker image 가져오기git clone https://github.com/oracle/docker-images.git 2. 오라클 19c 바이너리 다운로드https://www.oracle.com/kr/database/technologies/oracle19c-linux-downloads.html- mac m1 - LINUX.ARM64_1919000_db_home.zip 다운로드https://www.oracle.com/database/technologies/oracle19c-linux-arm64-downloads.html .. 2024. 12. 15.
코테 준비 - 문자열1. StringBuffersb.append(); 2. 문자열 반복 repeat(n)String str = "a";str.repeat(5); // 5번 반복 3. char -> String[a] Character.toString(c)char c = 'a';String str = Character.toString(c); [2] String.valueOf(c)char c = 'a';String str = String.valueOf(c); 4. String -> char[1] str.charAt(idx)  5. String -> char[][a] str.toCharArray()String input = "abcde";char[] arr = input.toCharArray();6. 문자열 뒤집기 str.. 2024. 10. 1.
MYSQL 코테 보기 전, 알아두어야 할 지식 - sql 실행 순서FROM>WHERE>GROUP BY>HAVING>SELECT>ORDER BY  - 날짜 관련1. 기간 설정[1] beween - and -START_DATE BETWEEN '2024-11-01' AND '2024-11-30'이상, 이하[2] like '날짜'START_DATE like '2022-10%' 2. 일부 추출SELECT YEAR('2024-11-01')(YEAR, MONTH, DAY, HOUR, MINUTE, SECOND) 3. 기간 계산 DATEDIFFDATEDIFF(END_DATE, START_DATE)DATEDIFF(END_DATE, START_DATE) + 1 : 일 계산 (예) DATEDIFF('2017-03-28 23:59:59', '2017-03-01 00:00.. 2024. 9. 23.
Elastic Search 사용 이유, RDB와 NoSQL과의 차이점 Elastic Search - 사용이유, RDB와 NoSQL과의 차이점사용이유엘라스틱 스택은 모든 유형의 데이터를 실시간으로 검색, 분석 및 시각화 차세대 데이터 플랫폼ElasticSearch검색·분석·데이터 저장소 역할Beats경량 데이터 수집을 담당하는 비츠(Beats). 로그파일의 변화를 감지해 logstash, es로 전달한다.Logstash정제·전처리를 수행하는 로그스태시(Logstash).다양한 소스에서 동시에 데이터를 수집하여 변환한 후, 자주 사용하는 스태쉬stash(보관소, 저장소)로 전달Kibana저장된 데이터의 시각화·관리 기능을 제공하는 키바나(Kibana)ES와 RDB기존 RDB를 ES로 대체해야하는가?ES는 정형, 비정형 데이터를 모두 수용할 수 있다.단순 검색 엔진으로서 뿐만 .. 2024. 6. 26.
java.util.regex.PatternSyntaxException: Unexpected internal error near index 1 - 파일 경로 split 오류 문제 코드String originalFileName = Normalizer.normalize(i1.getOriginalFilename(), Normalizer.Form.NFC); // 유니코드 정규화originalFileName = orgName.substring(originalFileName.indexOf("/") + 1); // 루트 폴더명 제거하여 폴더명1~파일명까지의 경로originalFileName = Paths.get(originalFileName).toString();String[] names = originalFileName.split(File.separator); // 에러 메시지java.util.regex.PatternSyntaxException: Unexpected inte.. 2024. 6. 17.