[튜닝일지] 4. 숫자 ID vs 텍스트 ID [백엔드 개발자의 쿼리 튜닝일지]
·
◈ Refactoring/쿼리 튜닝일지🔧
4. 숫자 ID vs 텍스트 ID사이드 프로젝트를 준비하면서 고민한 ID 타입에 대한 공부와 고찰을 남겨보려 한다.1) 숫자 ID [ ex) 3451832 ]- 장점숫자는 일반적으로 텍스트보다 작은 공간을 차지하기 때문에 인덱스 생성 및 검색이 빠르다.데이터베이스에서 숫자 인덱스를 사용하면 메모리 사용량을 줄일 수 있다.자동 증가(Auto-increment)와 같은 기능을 이용하여 쉽게 새로운 ID를 생성할 수 있다.- 단점가독성이 떨어질 수 있다. 숫자 ID는 사용자에게 의미 있는 정보를 전달하지 않는다.데이터베이스에서 무작위로 할당된 ID를 사용할 경우, 보안상의 문제가 발생할 수 있다.2) 텍스트 ID [ ex) user123 ]- 장점가독성이 좋다. 텍스트 ID는 해당 사용자를 직관적으로 나타낸다..
[튜닝일지] 3. 믿었던 Function이 날 배신했다. [백엔드 개발자의 쿼리 튜닝일지]
·
◈ Refactoring/쿼리 튜닝일지🔧
3. 믿었던 Function이 날 배신했다. 지난 쿼리 튜닝으로 기존 대비 절반 이상으로 실행 속도를 절감시켰다. 그러나 여기서 튜닝을 멈추지 않았다. 아니 멈출 수 없었다. 이번에 건드린 건 Function(≒Procedure, 프로시저)였다. Function을 주석하고 실행하면 신기하게도 실행 속도가 빨라졌다. 왜 그런 것일까요? GPT 선생님께 여쭤보았습니다. 더보기 MySQL에서 함수가 인덱스를 사용하는지 여부는 함수의 형태와 쿼리의 구성에 따라 다릅니다. 일반적으로, MySQL은 함수를 사용하여 쿼리를 실행할 때 인덱스를 사용하지 않습니다. 함수는 쿼리에서 조건절에 사용되는 경우 인덱스를 사용할 수 있는 기회를 제한합니다. 예를 들어, 다음과 같은 쿼리에서는 인덱스를 사용할 수 없습니다. SEL..
[Oracle] RECURSIVE와 WITH, 재귀적으로 데이터 조회하기 [재귀 쿼리의 활용과 이해]
·
▣ SQL : Database/Oracle SQL🏮
- RECURSIVE와 WITH, 재귀적으로 데이터 조회하기 Oracle에서도 MySQL과 같이 재귀 쿼리가 존재한다. Oracle에서의 재귀 쿼리는 다음과 같다. [MySQL] RECURSIVE, 재귀적으로 데이터 조회하기 [재귀 쿼리의 활용과 이해] - RECURSIVE, 재귀적으로 데이터 조회하기 1. RECURSIVE 쿼리란? RECURSIVE 쿼리는 데이터베이스에서 재귀적으로 데이터를 조회하거나 처리하는 데 사용되는 쿼리다. 주로 계층적 데이터 모델이나 트리 yermi.tistory.com WITH -- Anchor Member: 초기 쿼리 부분, 재귀를 시작하는 지점 OrgChart (employee_id, name, manager_id, level) AS ( SELECT employee_id..
[MySQL] RECURSIVE, 재귀적으로 데이터 조회하기 [재귀 쿼리의 활용과 이해]
·
▣ SQL : Database/MySQL🐬
- RECURSIVE, 재귀적으로 데이터 조회하기 1. RECURSIVE 쿼리란? RECURSIVE 쿼리는 데이터베이스에서 재귀적으로 데이터를 조회하거나 처리하는 데 사용되는 쿼리다. 주로 계층적 데이터 모델이나 트리 구조와 같은 데이터를 다룰 때 유용하며, 대표적으로 Common Table Expressions (CTE)를 활용하여 구현된다. - 재귀 쿼리의 활용 계층적 데이터 조회: 조직도, 카테고리 트리 등의 계층적 데이터를 조회할 때 유용 그래프 탐색: 그래프 구조의 데이터를 탐색하고 분석하는 데 활용될 수 있음 계층적 쿼리 연산: 계층적 데이터를 수정하거나 계산할 때 사용될 수 있음 2. 재귀 쿼리의 구성 요소 Anchor Member: 재귀를 시작하는 기본 쿼리. 이 쿼리의 결과가 재귀적으로 ..
[일상] University of Colorado System - Database Management Essentials 강좌 수료 [Coursera x K-MOOC]
·
◐ 기타/개발자의 일상🎈
- Database Management Essentials 강좌 수료 콜로라도 대학교 시스템에서 Database Management Essentials를 수강하였다. 이번 강의는 DB 관련 강의라 기본적인 SQL문과 ERD 구축, 데이터 모델 설계 등을 다루었다. Database Management Essentials University of Colorado System에서 제공합니다. Database Management Essentials provides the foundation you need for a career in database development, data ... 무료로 등록하십시오. www.coursera.org 이전 객체지향 강의보다는 비주류라 그런지 자막이 없는 영상이 많아 듣는데..