반응형
SMALL

SQL 23

데이터에 따른 성능 - row chaining, row migration 저장방식

(sql 시험을 위한 간단한 개념만 짚고 넘어가겠다.) 이 두 개념은 성능을 개선하기 위해 고려해야하는 저장 방식이다. Row chaining 개념: 한 로우의 데이터가 너무 길 경우, 하나의 값이 여러블락에 거쳐 저장하게 된다. 유의점: select 할 때 여러 블록을 다 읽어야 하므로 성능이떨어진다. Row migration 개념: 블락에 여유 공간이 없는데 수정을 할 경우, 수정을 하면 새로운 블락을 할당받아서 저장하게 된다. 유의점: 최소화 시키기 위해 블락에 여유공간을 확보해두어야 한다. 해결방법 ⇒ List 파티셔닝 : 특정값에따라 분리 저장, 보관주기에 따라 테이블 삭제 불가능 Range 파티셔닝 : 범위,날자,숫자값으로 테이블 분할, 보관주기에 따라 테이블 삭제 가능, 관리가 쉽다, 가장..

DB/SQL 기초 2022.08.13

NULL 기본함수 간단하게 익히는 법

대체값으로 NULL값 제거(인수가 두개인 경우) nvl은 null value의 약자이다. 아래 문법은 null value~? if null~? is null~? 그게 널이야? 널이면 널이고 아니면 널로 바꾸자! 라고 외우면 된다. ORACLE: NVL(col1,100) MYSQL : IFNULL(col1,100) MSSQL : ISNULL(col1,100) --(단, = NULL과 같은 연산자 사용 X) col1이 null이면 100. 대체값으로 NULL값 제거(인수가 세개인 경우) 마찬가지로 null value~? NVL2(col1,100,200) col1이 null이 아니면 100 null이면 200. 비교해서 같으면 NULL값으로 처리 이번엔 명령문이다. null 로 바꿔 if ~ 라면 NULLIF..

DB/SQL 기초 2022.08.01

‘SQL’ 분석 트레이닝 - (2) 검색 기능 분석 (*협업 툴 Yammer)

강의 시나리오를 따라하고 실제로 sql 을 활용하여 문제를 해결하는 과정을 기록하기 프로젝트는 3 가지이다. 프로젝트 1 - 유저 인게이지먼트 하락 원인 분석 프로젝트 2 - 검색 기능 분석 = INTERVAL '10 MINUTE' THEN id --WHEN last_event IS NULL THEN id --ELSE LAG(id,1) OVER (PARTITION BY user_id ORDER BY occurred_at) END AS session FROM ( SELECT user_id, event_type, event_name, occurred_at, occurred_at - LAG(occurred_at,1) OVER (PARTITION BY user_id ORDER BY occurred_at) AS ..

DB/SQL 응용 2022.07.20

‘SQL’ 분석 트레이닝 - (1) 유저 인게이지먼트 하락 원인 분석 (*협업 툴 Yammer)

강의 시나리오를 따라하고 실제로 sql 을 활용하여 문제를 해결하는 과정을 기록하기 프로젝트는 3 가지 이다. 프로젝트 1 - 유저 인게이지먼트 하락 원인 분석 )create_user, enter_mail, enter_info, complete_signup (engagemen >> )thome_page, like_message, login, search_autocomplete, search_run, search_click_result_X, send_message, view_inbox Table 3 : Email Events user_id occurred_at action : sent_weekely_digest, email_open, email_clickthrough Table 4 : Rollup Peri..

DB/SQL 응용 2022.07.14

Mac 사용자를 위한 클라우드 기반 Oracle Live SQL

Oracle Live SQL This tutorial provides an introduction to the Structured Query Language (SQL), learn how to create tables with primary keys, columns, constraints, ind... livesql.oracle.com 맥 사용자를 위한 오라클 라이브 SQL 간단히 소개 할게요. (▲ 우선 상단 링크 접속) Home : 홈 SQL Worksheet : 편집창 My Session : Live SQL 접속 이력 Schema : 데이터베이스 구조, 테이블 정보, 데이터 타입 등 Quick SQL : 모델링 도구 My Scripts : 테이블 구성을 위한 스크립트 저장공간 My Tutoria..

DB/SQL 응용 2022.07.06

DML(Data Manipulate Language)과 트랜잭션 작업 (*캠페인 결과 분석)

DML(Data Manipulate Language) 테이블 내에서 검색, 등록, 수정, 삭제 데이터 조작어: *SELECT(조회만 하는거라 커밋과는 관계X), UPDATE, DELETE, INSERT 트랜잭션 DML 작업을 완수하기 위한 작업 단위 확정(Commit)이나 되돌리기(Rollback)로 마무리 된다 commit; rollback; commit; 또는 f1 저장이 필요 rollback; 또는 f2 되돌리기 필요 -- INSERT INSERT INTO DEPARTMENTS (DEPARTMENT_ID, DEPARTMENT_NAME, MANAGER_ID, LOCATION_ID) VALUES (1, '001 TEST', 200, 1700); -- UPDATE UPDATE departments SET..

DB/SQL 응용 2022.07.04

DDL(Data Definition Language) 테이블 세팅 (*캠페인 분석 준비)

A/B테스트 계획 > CREATE TABLE (DDL) > INSERT (DML) > 캠페인 실행 > 반응결과 입력 INSERT (DML) > 인사이트 도출 DDL(Data Definition Language) 테이블의 구조나 관계 주로 열 생성, 변경, 삭제하는 명령어 커밋 필요 X 한글, 특수문자 권장 X *데이터 정의어 : CREATE(DML 같지만 예외적), ALTER, DROP, TRUNCATE 테이블, 열 생성하기 -- 테이블 생성하기 CREATE TABLE sample_product ( product_id number, product_name varchar2(30), manu_date date ); CREAT TABLE 열 추가하기 -- 테이블에 열 추가하기 INSERT INTO sample..

DB/SQL 응용 2022.07.04

서브 쿼리, 연산자, 인라인 뷰 (*요일/인구 분석)

서브쿼리와 연산자 단일 행 서브쿼리 SELECT * FROM employees A WHERE A.salary = ( SELECT salary FROM employees WHERE last_name = 'De Haan' ); WHERE - = () 다중 행 서브쿼리 SELECT * FROM employees A WHERE A.salary IN ( SELECT MIN(salary) 최저급여 FROM employees GROUP BY department_id ) ORDER BY A.salary DESC; WHERE - IN () 다중 열 서브쿼리 SELECT * FROM employees A그 WHERE A.salary IN ( SELECT job_id, MIN(salary) 그룹별급여 FROM employe..

DB/SQL 응용 2022.07.03

'SQL' ERD, JOIN, 집합 연산자 (*추이 분석)

ERD(Entity Relationship Diagram) P(Primary Key) : 기본키, 주키 F(Foreign Key) : 외래키, 보조키 실선: 필수관계 점선: 선택적관계 관계차수 : 대응되는 개체 수 조인(JOIN) SELECT A.employee_id, A.first_name, A.last_name, A.department_id, B.department_id, B.department_name FROM employees A, departments B WHERE A.department_id = B.department_id ORDER BY A.employee_id; INNER-JOIN SELECT A.employee_id, A.first_name, A.last_name, A.department..

DB/SQL 응용 2022.07.03
반응형
LIST