일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 친절한 SQL 튜닝
- 인덱스의 개념과 장단점
- 뷰
- youtube review
- mysql 설치 방법과 정상 작동 확인하기
- 혼자 공부하는 컴퓨터 구조 + 운영체제
- Update
- 혼자 공부하는 SQL
- github에 새 리포지토리 추가하기
- 웹 디자인 기능사
- 2025-02-13
- 이것이 오라클이다
- 명령 프롬프트
- delete
- sqld
- 운영체제
- gitkraken을 통한 프로젝트 올리기
- 첫 프로그래밍
- 컴퓨터 구조
- oracle
- 열거형
- 클러스터형 인덱스와 보조 인덱스
- 데이터 모델링
- 컴퓨터 활용 능력
- 데이터모델링
- 혼자 공부하는 네트워크
- 컴퓨터 활용 능력 1급
- 리눅스 마스터 2급
- INSERT
- 혼자 공부하는 컴퓨터 구조 및 운영체제
- Today
- Total
목록2024/11 (73)
코딩 브이로그

* Youtube Link - https://www.youtube.com/watch?v=PB6i20Fwas8&list=PLVsNizTWUw7FzFgU1qe-n7_M7eMFA9d-f&index=28 예제 1) 입력 파라미터와 기본 변수를 설정한 프로시저저장 프로시저를 생성할 때 스크립트 실행을 통해서 통째로 실행을 해야 한다.여러 SQL문들을 실행하기 때문에 한꺼번에 실행을 해야 한다.() 안에 파라미터를 선언하고AS 다음에 변수를 선언한다.선언한 파라미터와 변수를 프로시저 내에서 사용할 수 있다.BEGIN END 안에 프로시저를 선언한다.- 시퀀스 생성CREATE SEQUENCE userSEQ; 명령어를 통해서 userSEQ라는 이름의 시퀀스를 생성할 수 있다.userSEQ.NEXTVAL 함수를 통해서 ..

* Youtube Link - https://www.youtube.com/watch?v=ba_mUEJ4qtw&list=PLVsNizTWUw7FzFgU1qe-n7_M7eMFA9d-f&index=27 #의의저장 프로시저와 함수실무에서는 프로시저를 굉장히 많이 사용한다.프로그래밍을 할 수 있기 때문이다.또한, 시스템 성능에도 굉장히 도움이 된다.#저장 프로시저오라클 뿐만 아니라 모든 곳에서 사용된다.CREATE OR REPLACE 프로시저주로 프로시저를 생성할 때 이와 같은 형식으로 사용을 한다.실습- CREATE OR REPLACE PROCEDURE프로시저 USERPROC이 컴파일 되었다.- EXECUTE 저장_프로시저_이름EXECUTE userProc();을 실행하였다.- SET SERVEROUTPUT O..

* Youtube Link - https://www.youtube.com/watch?v=98y70kDWxwM&list=PLVsNizTWUw7FzFgU1qe-n7_M7eMFA9d-f&index=26 인덱스의 성능 비교대용량 데이터를 이용한 성능비교를 해보려고 한다.INDEX를 생성하지 않은 Emp 테이블INDEX를 생성한 Emp_idx 테이블을 만들어서성능 비교를 해보겠다.전체 총 데이터는 300024건이다.ORDER BY DBMS_RANDOM.VALUE를 통해서랜덤으로 ORDER BY를 하였다.SELECT DBMS_RANDOM.VALUE FROM dual UNION ALL SELECT DBMS_RANDOM.VALUE FROM dual UNION ALL SELECT DBMS_RANDOM.VALUE FROM..

* Youtube Link - https://www.youtube.com/watch?v=mzvtZU4Y0ko&list=PLVsNizTWUw7FzFgU1qe-n7_M7eMFA9d-f&index=25 9.4 인덱스 생성/변경/삭제- 자동 생성 인덱스: PRIMARY KEY, UNIQUE- 직접 생성 인덱스: CREATE문을 사용해서 만들 수 있음9.4.3 인덱스 제거실습PK에 다시 이름을 지어서 만들기 위해01. ALTER TABLE userTBLDROP PRIMARY KEY CASCADE; 를 실행하였다.CASCADE를 통해서 PK와 FK를 지울 수 있다.그리고 02. ALTER TABLE userTBLADD CONSTRAINT FK_userTbl_buyTblFOREIGN KEY (userID)REFERE..

* Youtube Link - https://www.youtube.com/watch?v=fbqJDc5PJJc&list=PLVsNizTWUw7FzFgU1qe-n7_M7eMFA9d-f&index=24 인덱스의 내부 작동- B-Tree (균형 트리)루트 블럭과 리프 블럭으로 구성되어 있다.오라클에서는 한 블럭 당 8k정도 된다.루트 블럭은 각각의 리프 블럭의 첫 데이터만 가지고 있다고 볼 수 있다.리프 블럭에 데이터들은 동일하게 들어있다.찾을 때는 루트 블럭을 통해서 일일이 찾을 데이터를 더 빨리 찾을 수 있다.예를 들어 3만개의 리프 블럭이 있어도 2-3개의 블럭만에 찾을 수 있도록 하는 것이 바로 B-TREE 구조이다.- 인덱스 분할인덱싱해야 하기 때문에루프 블럭과 리프 블럭에서 '인덱스 분할'이 일어난다..

* Youtube Link - https://www.youtube.com/watch?v=qqgCwZ81tTs&list=PLVsNizTWUw7FzFgU1qe-n7_M7eMFA9d-f&index=23 대용량 데이터의 경우 인덱스가 없이는 사용이 불가능한 경우가 많다.9.1 인덱스의 개념'폭포수 모델'을 찾으려면 책 전체를 찾아봐야 한다.하지만 책의 찾아보기를 사용을 하면 쉽게 page를 찾을 수 있다.이것이 바로 인덱스다.500page를 뒤져서 찾던 것을 간단히 11page안에 찾는다. 엄청나게 효율이 좋다.인덱스의 장점 및 단점단점:- 인덱스를 추가하면 분량이 늘어난다. (10%정도 차지한다.)- 인덱스가 있다고 무조건 쓰는 것은 아니다. 찾는 데이터가 많다면, 인덱스를 왔다 갔다 하면 호율이 훨씬 악화된..

* Youtube Link - https://www.youtube.com/watch?v=qA8tflkxop0&list=PLVsNizTWUw7FzFgU1qe-n7_M7eMFA9d-f&index=22 뷰의 개념SELECT로 조회된 결과는 테이블이다.이 결과를 테이블로 만든 것이 뷰이다.뷰를 SELECT하면 결국 SELECT문이 실행되는 것이다.테이블처럼 접근하는 것이다.사용자는 뷰를 테이블로 착각하고 접근을 한다.제약은 있지만 데이터 수정도 가능하다.뷰의 장점- 보안에 도움이 된다. (정보를 가리고 보여줄 수 있다.)- 복잡한 쿼리를 단순화 시켜줄 수 있다. (복잡한 쿼리를 사용을 하면 뷰로 만들어서 처리를 할 수 있다.)뷰 실습- 뷰 생성CREATE OR REPLACE VIEW : 뷰를 생성하거나, 기존의..

* Youtube Link - https://www.youtube.com/watch?v=n95a3PgW1tQ&list=PL6i7rGeEmTvpLoDkB-kECcuD1zDt_gaPn&index=13 11. 스칼라 서브쿼리 문제스칼라 서브쿼리에서 ORDER BY는 문법에러ORDER BY 1은 첫번째 열을 기준으로 오름차순 정렬한다.서브쿼리에서 여러 개의 행이 반환되면 IN, ANY, ALL과 같은 다중행 서브쿼리 함수를 사용해야 한다.그러면 이렇게 위 그림처럼 들어갔다는 의미이다.- 스칼라 서브쿼리: SELECT 절에서 사용하는 서브쿼리- 인라인뷰 서브쿼리: FROM 절에서 사용하는 서브쿼리- 중첩 서브쿼리: WHERE 절에서 사용하는 서브쿼리서브쿼리는 메인쿼리의 컬럼을 모두 사용할 수 있다.메인쿼리에서는 ..

* Youtube Link - https://www.youtube.com/watch?v=qCAXD2ukvTE&list=PL6i7rGeEmTvpLoDkB-kECcuD1zDt_gaPn&index=12 01. 파티셔닝 기법파티셔닝이란어떤 테이블을 수평으로 쪼개는 것이다.그런데 이 테이블을 물리적으로 쪼개는 것이 아니라 논리적으로 쪼갠다.실제 테이블은 하나인데, 가상의 논리적으로 이렇게 하나의 테이블에 마치 3개의 테이블이 있는 것 처럼 사용하겠다.물리적으로 분할하지 않는다의 의미이다.- range partition: 데이터 값의 범위를 기준으로 파티션을 수행 (주로 주기, 날짜 범위)- list partition: 특정 값을 지정해서 파티션을 수행 (서울, 주기 x 항목)- hash partition: 직접 ..