일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- UXUI기초정복
- 패스트캠퍼스
- 부트캠프
- 내일배움캠프
- 디자인교육
- 디자인강의
- Java
- KDT
- Spring
- 디자인챌린지
- 백엔드개발자
- OPENPATH
- 환급챌린지
- UXUIPrimary
- 국비지원취업
- UXUI챌린지
- 오픈챌린지
- mysql
- 티스토리챌린지
- 내일배움카드
- 백엔드
- 오블완
- 객체지향
- baekjoon
- 오픈패스
- 백엔드 부트캠프
- 백준
- 국비지원
- Be
- 국비지원교육
- Today
- Total
목록인덱스 (6)
군만두의 IT 공부 일지
목차 4.3 섹션인 트랜잭션 위주로 데이터베이스에 대해 정리합니다. 트랜잭션, 인덱스, 조인 모두 공부했던 내용이지만, 계속 복습이 필요한 것 같습니다. 실제 프로젝트에 적용할 때도 유익하니까요.4장 데이터베이스4.3 트랜잭션과 무결성4.3.1 트랜잭션트랜잭션: 데이터베이스에서 하나의 논리적 기능을 수행하기 위한 작업의 단위. 여러 개의 쿼리들을 하나로 묶는 단위ACID: 원자성, 일관성, 독립성, 지속성원자성(atomicity): 트랜잭션과 관련된 일이 모두 수행되었거나 되지 않았거나를 보장하는 특징일관성(consistency): 허용된 방식으로만 데이터를 변경해야 하는 것격리성(isolation): 트랜잭션 수행 시 서로 끼어들지 못하는 것격리 수준은 SERIALIZABLE, REPEATABLE_R..
목차9.4 쿼리 힌트MySQL 서버가 서비스의 비지니스를 완벽히 이해하지 못하므로, 서비스 개발자나 DBA가 옵티마이저에게 부족한 실행 계획을 어떻게 수립하는지 알려주기 위한 목적으로 MySQL에서는 힌트를 제공함.MySQL 서버에서 사용 가능한 쿼리 힌트는 다음과 같이 2가지로 구분할 수 있음.인덱스 힌트: 예전 버전의 MySQL에서 사용된 힌트옵티마이저 힌트: MySQL 5.6 버전부터 추가된 힌트이 책에서는 옵티마이저 힌트가 아닌 것은 인덱스 힌트 절로 분류함.9.4.1 인덱스 힌트STRAIGHT_JOIN과 USE INDEX 등을 포함한 인덱스 힌트는 MySQL 서버에 옵티마이저 힌트가 도입되기 전 사용된 기능으로, SQL 문법에 맞게 사용해야 하기 때문에 ANSI-SQL 표준을 준수하지 못함.My..
목차9.3 고급 최적화옵티마이저 옵션은 조인 관련된 옵티마이저 옵션과 옵티마이저 스위치로 구분할 수 있음.9.3.1 옵티마이저 스위치 옵션옵티마이저 스위치 옵션은 optimizer_switch 시스템 변수를 이용해서 제어함.optimizer_switch 시스템 변수에는 여러 개의 옵션을 세트로 묶어서 설정하는 방식으로 사용함.옵티마이저 스위치 이름기본값설명batched_key_accessoffBKA 조인 알고리즘을 사용할지 여부 설정block_nested_looponBlock Nested Loop 조인 알고리즘을 사용할지 여부 설정engine_condition_pushdownonEngine Condition Pushdown 기능을 사용할지 여부 설정index_condition_pushdownonIndex..
목차8.4 R-Tree 인덱스8.4.1 구조 및 특성도형들의 MBR(Minimum Bounding Rectangle, 해당 도형을 감싸는 최소 크기의 사각형)에서 사각형들의 포함 관계를 B-Tree 형태로 구현한 인덱스8.4.2 B-Tree 인덱스의 용도WG884(GPS) 기준의 위도, 경도 좌표 저장에 주로 사용됨.CAD/CAM 소프트웨어 또는 회로 디자인 등과 같이 좌표 시스템에 기반을 둔 정보에 대해 적용할 수 있음.8.5 전문 검색 인덱스문서의 내용 전체를 인덱스화해서 특정 키워드가 포함된 문서를 검색하는 전문 검색에는 InnoDB나 MyISAM 스토리지 엔진에서 제공하는 B-Tree 인덱스를 사용할 수 없음.문서 전체에 대한 분석과 검색을 위한 인덱싱 알고리즘을 전문 검색(Full Text se..
목차 8.3 B-Tree 인덱스 개요B-Tree 인덱스는 가장 기본적인 인덱스 구조로, 데이터가 균형적으로 유지되어 효율적인 검색이 가능함.B-Tree의 B는 Binary(이진)이 아닌 Balanced(균형)을 의미하며, DBMS에서는 주로 B+-Tree와 B*-Tree 변형을 사용함.B-Tree 인덱스는 주로 이진 트리 구조를 기반으로 하지만, 데이터의 처리와 저장 방식에 따라 다양한 구조를 사용함.데이터는 항상 정렬된 상태로 저장되어 검색 효율을 극대화함.8.3.1 B-Tree 인덱스의 구조 및 특성 B-Tree의 기본 구조는 루트 노드, 브랜치 노드, 리프 노드로 구성되며, 루트에서 리프 노드로 내려가며 데이터를 찾음.인덱스의 리프 노드는 항상 데이터 파일에 저장된 레코드의 주소를 가지고 있음.My..
목차8. 인덱스인덱스는 데이터베이스 쿼리의 성능을 언급하면 자주 나오는 부분이다. 이번 장에서는 MySQL에서 사용 가능한 인덱스의 종류 및 특성을 간단히 살펴본다.8.1 디스크 읽기 방식컴퓨터의 CPU나 메모리처럼 전기적 특성을 띤 장치의 성능은 짧은 시간 동안 매우 빠른 속도로 발전했지만, 디스크 같은 기계식 장치의 성능은 상당히 제한적으로 발전했다. 데이터베이스나 쿼리 튜닝 사용자가 절감하고 있듯이 데이터베이스의 성능 튜닝은 어떻게 디스크 I/O를 줄이느냐가 관건일 때가 상당히 많다.8.1.1 하드 디스크 드라이브(HDD)와 솔리드 스테이트 드라이브(SSD)컴퓨터에서 CPU나 메모리 같은 주요 장치는 대부분 전자식 장치지만, 하드 디스크 드라이브는 기계식 장치임. 그래서 데이터베이스 서버에서는 항상..