database
-
[데이터베이스]옵티마이저 (Optimizer)database/DB Concept 2021. 7. 13. 00:16
옵티마이저 (Optimizer) 옵티마이저란(Optimizer)? DBMS에는 개발자가 작성한 SQL을 어떻게 실행할 것인지 실행 계획(Execution Plan)을 수립하고 SQL을 실행하게 되는데, 바로 이 실행 계획을 수립을 옵티마이저가 하게 됩니다. 옵티마이저는 SQL을 가장 빠르고 효율적으로 수행할 최적의 처리 경로를 생성해 주는 DBMS 내부의 핵심 엔진입니다. 실행계획(Execution Plan) 동일한 결과가 나오는 SQL이더라도 어떻게 실행하는지에 따라서 성능이 달라질 수 있습니다. 옵티마이저는 데이터 딕셔너리(Data Dictionary)에 있는 오브젝트 통계, 시스템 통계 등의 정보를 사용해서 예상되는 비용을 평가하여 여러 실행 계획(Execution Plan)을 작성합니다. 옵티마이..
-
[데이터베이스] 인덱스(INDEX)database/DB Concept 2021. 7. 12. 00:24
데이터베이스 인덱스(INDEX) 안녕하세요? 장장스입니다. 오늘은 데이터베이스 인덱스에 대해 알아보겠습니다! 인덱스(INDEX) ? 우리는 교과서와 같은 책의 맨 뒤를 보면 색인(INDEX)을 볼 수가 있었습니다. ㄱ-ㅎ 순서로 잘 정리된 인덱스 목록을 통해 우리가 찾고자 하는 내용의 페이지를 빠르게 찾을 수가 있었습니다. 데이터베이스의 인덱스는 무엇일까요? 데이터베이스의 인덱스는 테이블의 검색 속도를 향상시키기 위한 동작의 속도를 높여주는 자료 구조를 일컫습니다. 장점과 단점 인덱스를 사용할 때의 보편적인 장단점을 살펴보면 아래와 같습니다. 그러나 예외적인 상황도 많이 있으니 인덱스 사용에 신중해야 합니다! 장점 검색(SELECT) 속도가 향상 될 수 있다.(단, 항상 그런 것은 아니다.) 그 결과 검..
-
[DB] NoSQL 처음보는 초보 개발자가 쓰는 NoSQL이란?database/DB Concept 2021. 2. 1. 18:57
NoSQL 처음보는 초보 개발자가 쓰는 NoSQL이란? 안녕하세요? 장장스입니다. 오늘은 NoSql에 대해 포스팅해보려고 합니다. 그동안 저는 오라클, MySql, MariaDB 같은 테이블 형태의 관계형 데이터베이스만을 사용해 봤었습니다. 그런데 유튜브를 보다보면 NoSql이라는 단어를 종종 보곤 했는데요. NoSql이 무엇인지 초보 개발자의 시선으로 풀어보려고 합니다! NoSQL은 왜? 어떻게? 두둥등장 했을까? 그래프를 보면 2009년을 기점으로 NoSQL이 SQL을 추월하여 사용되고 있는 것과 SQL이 점점 하향세를 타고 있음을 알 수가 있습니다. 이렇게 많이 사용되고 있지만 개발자인 제가 정작 NoSQL이 무엇이지 모르고 있다는 사실이 참 부끄러워지네요,, ㅠㅠ 구글이나 페이스북과 같은 글로벌 ..
-
[MySQL] SELECT한 테이블에 WHERE 조건문 걸기database/mysql 2020. 4. 12. 12:27
SELECT한 테이블에 WHERE 조건문 걸기 안녕하세요? 장장스입니다. 요즘 mysql을 사용하는데 새롭게 알게된 사실이 있어서 기록하려고 합니다. 일명 꿀팁 ^^ ~? SELECT를 실행하여 선택된 데이터가 있는 테이블에 대해 다시 WHERE 조건문을 걸고 싶을때 사용하는 방법입니다. 생각보다 간단한 방법인데 이걸 왜 생각 못했을까 싶네요. 하하 혹시나 나중을 위해 기록삼아 포스팅해봅니다. 이글을 보는 누군가에게 도움이 되시길 바라며 글을 써보겠습니다. 방법 SELECT * FROM테이블명 WHERE 조건문 기본적인 SELECT 쿼리문은 위의 코드처럼 사용하죠. 다시한번 SELECT 문을 사용하는 방법은 FROM 절에 SELECT쿼리를 이용하여 내가 원하는 데이터를 선택한 테이블을 만드는 것입니다. ..