Free Lines Arrow
본문 바로가기
728x90

DataBase/DB 기초7

[DB] LIKE 와 INDEX LIKE 와 INDEX 테이블에 row 가 많은 경우 우리는 인덱스를 걸어주어 조회 속도를 높인다. LIKE 같은 경우 조건에 따라 인덱스를 타는 경우도 있고 안타는 경우도 있다. 어떤 경우에 인덱스를 타고 안타는지 확인해보자. 조건에 따른 인덱스 타는 여부 인덱스를 타는 경우 WHERE name LIKE '안' - 문자가 일치 하는 데이터 검색 WHERE name LIKE '안%' - 문자의 시작과 일치하는 데이터 검색 인덱스를 타지 않는 경우 WHERE name LIKE '%안%' - 문자가 포함되는 데이터 검색 WHERE name LIKE '%안' - 해당 문자로 끝나는 데이터 검색 WHERE name LIKE %안% 왜 인덱스를 안탈까? 요인은 INDEX 의 자료구조가 B*TREE 이다. 인덱스를.. 2023. 2. 10.
[DB] Index 기본 인덱스 란? 원하는 데이터를 쉽게 찾을수 있도록 돕는 자료구조이다. 검색 조건에 부합하는 데이터를 효과적으로 빠르게 검색 할 수 있도록 돕는다. 하지만 인덱스 효율이 나쁘면 오히려 느릴 수 있다. 1개의 테이블에 인덱스가 많은면 CUD 작업시 부하가 발생 할 수 있다. - 이유는 저장 하거나 업데이트 할때 인덱스 값을 조정 해줘야 하기 때문이다. 인덱스의 자료구조 Hash 해시는 탐색 시간이 빠르지만 자료를 저장 할때 정렬이 되지 않는다. 당연한것이 해쉬 자료구조 이기 때문이다. DB 에서는 특정 범위를 검색하는 경우가 있는데 이에 적절하지 않아서 잘 사용하지 않는다. B * Tree DB 에서 가장 많이 사용하는 인덱스 구조이다. B * Tree 인덱스 란? DBMS 에서 사용되는 가장 일반적인 인덱스.. 2023. 2. 9.
[DB] NoSQL No SQL 이란? 여러 정의들이 있지만 대부분 Not Only SQL 로 해석한다. 그 이유는 SQL 보다 무언가 를 추가 했다는 뜻이다. 특징 NoSQL 데이터베이스는 특정 데이터 모델에 대해 특정 목적에 맞추어 구축되는 데이터베이스이다. NoSQL 데이터베이스는 개발의 용이성, 기능성 및 확장성이 높다. 유연성: - 유연한 스키마를 제공한다. 확장성: - 분산형 하드웨어 클러스터를 이용해 확장하도록 설계 고성능: NoSQL 데이터베이스는 특정 데이터 모델 및 액세스 패턴에 대해 최적화되어 관계형 데이터베이스를 통해 유사한 기능을 충족하려 할 때보다 뛰어난 성능을 얻게 해준다. 고기능성: NoSQL 데이터베이스는 각 데이터 모델에 맞춰 특별히 구축된 뛰어난 기능의 API와 데이터 유형을 제공한다. N.. 2021. 8. 19.
[DB] Index 기초 Index 란? DB 테이블의 검색속도를 향상시키키 위한 자료구조이다. - 결국엔 하나의 테이블이다. 책에 표지순서가 없으면 A에 대한내용이 나올때까지 다 찾아봐야 한다. 표지순서가 있다면 A를 금방 찾을수 있다. 클러스터(Cluster) 갑자기 클러스터가 나와서 뭐지? 싶었다. - 인덱스 개념과 이어지기 때문에 알고 있는게 좋을것 같다. 클러스터는 다중데이터베이스와 다중테이블이 조인되는것을 말한다. 클러스터키 값을 공유하는 테이블들의 레코드는 근처의 DB 블록에 함께 저장된다. 클러스터는 B-Tree 인덱스 또는 해쉬 테이블로 키화된다 장점 클러스터키 값을 공유하는 테이블들의 레코드는 근처의 DB 블록에 함께 저장된다. - 디스크 I/O 를 줄여준다,. Join 이 발생할 경우 처리시간이 단축된다. 클.. 2021. 8. 19.
728x90
반응형