본문 바로가기

SQL

(31)
업무에 바로쓰는 SQL튜닝_정리 1. 조인알고리즘용어 중첩루프조인(NL조인) 드라이빙 테이블 데이터 1건당 드리븐 테이블 반복검색 - 최종 양쪽 데이터 출력 블록 중첩 루프 종인(BNL) 조인버퍼 찰때까지 적재한후 드리븐 테이블을 접근 배치키 엑세스조인 조인버퍼 + 랜덤버퍼 -> 드리븐 테이블 접근 해시조인 각 테이블의 데이터를 내부적 해시값을 만들어 조인 수행 결과는 조인버퍼에 저장되어 조인열의 인덱스 요구 X 2. 기본 튜닝용어 오브젝트 스캔 : 오브젝트 - 테이블 스캔 - 인덱스 스캔 TABLE FULL SCAN INDEX RANGE SCAN INDEX FULL SCAN INDEX UNIQUE SCAN - 기본키나 고유인덱스로 테이블 접근하는 방식 (가장 효율적) INDEX LOOSE SCAN - 인덱스의 필요한 부분만 골라서 스..
텐서플로우 자격증: 환경설정 (제일중요!!) 파이썬 가상환경 설정 1. 텐서플로우 2021년 테스트셋버전은 아나콘다 인터프리터상의 설치를 제한하고있다. 2. python3.8버전에서 가상환경을 셋팅해주는 것이 필수다 python -m venv tf-cert tf-cert라는 폴더의 가상환경 생성 cd tf-cert tf-cert로 폴더 이동 Scripts\activate.bat (tf-cert)C:\tf-cert> 커서가 뜨면 성공 pip install tensorflow==2.5.0 pip install tensorflow-datasets==4.3.0 pip install pillow==8.2.0 pip install pandas==1.2.4 pip install numpy==1.19.5 pip install scipy==1.7.0 tensorf..
텐서플로우 자격증 준비하기 build up 지금부터 텐서플로우 자격증을 획득하기 위한 모든 준비단계를 여기다가 적어놓겠다. 목표일자: 추석연휴 중 아무날이나. (시험시간 최대 5시간 이상 확보가능한 일자) 1. 텐서플로우 튜토리얼 www.tensorflow.org/certificate TensorFlow 개발자 인증서 받기 - TensorFlow TensorFlow 인증 프로그램을 통과하여 TensorFlow를 활용한 딥 러닝 및 ML 문제 해결 숙련도를 입증하세요. www.tensorflow.org www.tensorflow.org/tutorials TensorFlow Core ML 초보자 및 전문가를 위해 TensorFlow를 사용하는 방법을 알아보는 완벽한 엔드 투 엔드 예시입니다. Google Colab에서 튜토리얼을 사용해 보세요. 설정..
upstage 특별강의: 비전공자에서 캐글 그랜드마스터까지_김윤수님의 강의 1. 캐글 튜토리얼 대회 2. 대회한두개 참여해보니... 금방 들게되더라 3.이론은 최소화 대회는 많이.. - 주최자가 train test나눈방법대로 train set을 쪼갠다 -데이터 전처리단계에서 fold나눠서 파일로 저장뒤 이 고정fold를 계속 이용한다 - sklearn의 kfold, groupkfold, stratifiedkfold패키즈를 사용 out of fold, 5 fold 모든 대회에서 쓸수있으면 쓰는게 고득점에 좋다. fold= 데이터나누는 조각 5fold+valid를 각모델별로 만들어서 스태킹, 앙상블로 사용한다(oof = out of fold) 베이스라인작성: 재사용 가능한 뼈대코드를 만들자 자신만의 뼈대코드를 만들어놓으면 좋은점 1. 여러 아이디어를 추가하는 것이 쉬움 2. 코드의..
PRECEDING AND FOLLOWING 예제 (ORACLE) -- PREDECING AND FOLLOWING TEST WITH UNBOUNDED_TEST AS (SELECT '1' AS COL1, '' AS COL2 FROM DUAL UNION ALL SELECT '2' AS COL1, '1' AS COL2 FROM DUAL UNION ALL SELECT '3' AS COL1, '2' AS COL2 FROM DUAL UNION ALL SELECT '4' AS COL1, '3' AS COL2 FROM DUAL ) SELECT FIRST_VALUE(COL1) OVER (PARTITION BY COL1 ORDER BY CO1 ROWS UNBOUNDED PRECEDING) AS UNBOUNDED_PRECEDING ,FIRST_VALUE(COL1) OVER (ORDER B..
GRETEST/LEAST VS MAX/MIN 비교 (오라클) MIN, MAX 예제 --GREATEST, LEAST VS MAX, MIN TEST WITH GREATET_TEST AS (SELECT 1111 AS COL1 FROM DUAL UNION ALL SELECT 2222 AS COL2 FROM DUAL ), GREATEST_TEST_1 AS ( SELECT 3333 AS COL1 UNION ALL SELECT 4444 AS COL2 FROM DUAL) SELECT MAX(A.COL1), MAX(B.COL1), MIN(A.COL1), MIN(A.COL1) -- 각각 한개의 컬럼만을 비교할 수 있다. FROM GREATEST_TEST A, GREATEST_TEST_1 B GROUP BY A.COL1, B.COL1 결과값▼ MAX(A.COL1) MAX(B.COL1..
oracle_ unpivot 활용 --UNPIVOT TEST WITH TEST_TAB AS ( SELECT 'Y' AS COL1, 'Y' AS COL2, 'N' AS COL3, 'N' AS COL4, 'Y' AS COL5 FROM DUAL ) SELECT * FROM TEST_TAB UNPIVOT (SELECTED_CD FOR NM IN (COL1,COL2,COL3,COL4,COL5)) 여기서 'SELECTED_CD'와 'NM'은 행열을 바꾸기위해 빈 행에 채워지는 컬럼명 UNPIVOT함수를 통해서 쉽게 행열전환을 할 수 있다.
NVL vs NVL2 vs COALESCE vs NULLIF 구문차이정리 1. NVL NVL (exp1, exp2): exp1이 null이면 exp2로 바꾼다. 2. NVL2 NVL2(exp1,exp2,exp3) : exp1이 null이이 아니면 exp2로 바꾸고, exp1이 null이면 exp3로 바꾼다. exp1은 어떤타입의 데이터로 가질 수 있다. 3.COALESCE COALESCE (expr1, expr2, ..., exprn), for n>=3 [Oracle Documents] SELECT product_id, list_price, min_price, COALESCE(0.9*list_price, min_price, 5) "Sale" FROM product_information WHERE supplier_id = 102050 ORDER BY product_id, lis..
mysql 사용자 정의 변수(a.k.a.사용자함수) 총정리 [출처:Real Mysql] mysql의 변수 - 시스템 변수 - 글로벌 변수 - 사용자 변수 - 세션변수 1. 사용자 정의 변수 "@"로 시작 커넥션정의된 사용자변수는 다른커넥션과 공유하지 못하고 해당 커넥션에서만 사용 별도의 타입을 지정하는것이 아니라 저장하는 값에 의해 타입이 정해진다(= 스크립트언어와 동일) set@var := 'my first user variable'; set@var1 = 'my first', @var2 = 'user variable'; select @var as var1, concat(@var1, ' ', @var2) as var2; set @rownum = 0; -- set으로 rownum을 정의하고 초기값 0 할당 select (@rownum:= @rownum +1) as rownum, emp_no,..
Mysql- insert절 용법 총정리(Real Mysql) 1. insert auto_increment - 테이블 컬럼에 부여하는 옵션형태로 한 테이블에 serial increment number 컬럼의 기능을 제공한다. 1-1. insert와 auto_increment - 사용방법: CTA구문에 혹은 create table 구문으로 테이블을 생성 후, insert into 테이블명 (컬럼명_1) values ( 'value명'); or insert into 테이블명(컬럼명1, 컬럼명2) values ('value명1','values명2'); -- auto increment값의 현재값을 저장하려면 insert into 테이블명(null or 0) values ('value명1','values명2'); 하면된다. - 특성: 강제저장한값이 auto_increment..