🚀 들어가며... 실무에서 너무나도 많이 쓰이는 인덱스에 대해 알아보고, 효과적인 인덱스 설계 방법에는 어떠한 것들이 있는지 정리해보았습니다! 📑 내용 인덱스의 개념 인덱스는 테이블의 동작속도(조회)를 높여주는 자료구조입니다. 인덱스로 데이터의 위치를 빠르게 찾아주는 역할이고 대표적인 예로는 책 뒷편에 '색인'이 인덱스의 역할과 동일하다고 볼 수 있습니다. 인덱스가 설정되지 않았다면 Table Full Scan이 일어나 성능이 저하되거나 치명적인 장애가 발생합니다. 하지만, 인덱스의 단점도 존재하는데, 조회속도는 빨라지지만 UPDATE, INSERT, DELETE의 속도는 저하된다는 단점이 있습니다. (Table의 index 색인 정보를 갱신하는 추가적인 비용 소요) 때문에 효율적인 인덱스 설계로 단점을..
🚀 들어가며... 제가 실무에서 쿼리의 속도개선을 진행하면서 고민하고 시도해보았던 내용들을 정리해보는 시간을 가져보겠습니다. 다만, 예시들은 보안때문에 올릴수 없는점 양해부탁드립니다. 📑 내용 1. querystrings.py 적절한 TempTable 사용 (JOIN절에 과다한 서브쿼리 사용) JOIN절에 과다한 서브쿼리를 사용하는 것 보다는 때로는 적절한 TempTable 사용 (실제 2,300여건 결과 TimeOut → 3초) UPDATE - FROM 절 사용시에도 FROM 절의 서브쿼리를 temp table 로 변경했을 때 속도개선 효과가 클 수 있음 2. [querystrings.py] 여러 항목('...,...,...') 형태 등의 데이터를 다룰 때 '...,...,...' 형태의 데이터 양이 ..
🚀 들어가며... 제목은 날짜데이터를 기반으로 한 요일 찾는 방법이지만, 사실 to_char에 대해 알아보는 시간입니다. 실무에서 날짜 뒤에 요일을 붙여주기를 원해서 좋은방법을 찾아보다가 발견한 부분을 알려드릴 예정입니다! 📑 내용 PostgreSQL에서 to_char 함수는 다양한 데이터 유형(날짜/시간, 정수, 부동 소수점, 숫자)을 형식화된 문자열로 변환하고 형식화된 문자열에서 특정 데이터 형식으로 변환하기 위한 강력한 도구 세트를 제공합니다. 높은 빈도 포멧 설명 YYYY year (4 and more digits) MM month number (01-12) DD day of month (01-31) HH24 hour of day (00-23) MI minute (00-59) SS second (..
🚀 들어가며... 금일 포스팅에서는 SQL에서 흔히 쓰는 DROP, TRUNCATE, DELETE의 차이점들을 알아보겠습니다! 📑 내용 차이점을 서술하기에 앞서 각각의 명령어의 특징을 알아보겠습니다. 1) DELETE - WHERE절을 사용하여 테이블에 있는 데이터를 하나하나 선택하여 제거하는 방식 - WHERE절을 사용하지않고 테이블의 모든 데이터를 삭제하더라도, 내부적으로는 한줄 한줄 일일히 제거하는 과정을 거칩니다. - 처리속도가 늦고, 퍼포먼스에 좋지않은 영향을 줄 수 있습니다. - 원하는 데이터만 골라서 삭제할 때에는 DELETE 사용 / 전체 데이터 삭제할 때에는 TRUNCATE 사용합니다. - 데이터를 삭제하더라도 데이터가 담겨있던 Storage는 Release 되지 않습니다. - DELET..
🚀 들어가며... Redis는 서비스를 운영함에 있어 너무나도 자주 사용하고 중요하기 때문에 이번에 Redis를 주제로 다뤄보겠습니다. 📑 내용 레디스를 이해하기 앞서 캐시(Cache)에 대한 이해가 필요합니다. 또한 Memcached에 대한 이해가 필요한데 Redis와 성능문제로 자주 비교되기도 하기때문에 하단에서 다루겠습니다. #Cache Cache의 개념 Cache란 나중에 요청할 결과를 미리 저장해둔 후 빠르게 서비스해 주는 것을 의미합니다. 즉, 미리 결과를 저장하고 나중에 요청이 오면 그 요청에 대해서 DB 또는 API를 참조하지 않고 Cache를 접근하여 요청을 처리하는 기법입니다. 이러한 cache가 나온 배경에는 파레토 법칙이 있습니다. 파레토 법칙이란 80%의 결과는 20%의 원인으로 ..
🚀 들어가며... 인덱스와 시퀀스의 차이를 정확하게 정리하고자 포스팅하게 되었습니다! 📑 내용 # 인덱스(Index) 인덱스의 예를 들 때 가장 많이 쓰이는 것이 책의 페이지를 찾는 방법입니다. 책에서 특정 단어 또는 내용이 있는 페이지를 찾으려면 두 가지 방법을 생각할 수 있습니다. 책을 처음부터 끝까지 읽어보며 찾을 수도 있고, 책의 목차나 색인을 통해 찾으려는 단어가 있는 페이지를 바로 찾을 수 있습니다. 찾는 속도를 생각한다면 책의 모든 페이지를 읽어서 찾는 것보다 목록이나 색인을 활용하여 찾는 것이 빠릅니다. 그리고 책의 내용이 많아질수록 속도 차이는 더욱 커집니다. 색인이라는 뜻의 인덱스는 책 내용을 찾는 것과 마찬가지로 데이터베이스에서 데이터 검색 성능의 향상을 위해 테이블 열에 사용하는 객..
- Total
- Today
- Yesterday
- static files
- Algorithm
- Master & Slave
- Default export
- docker
- data formatting
- union-find
- generator expression
- JavaScript
- list
- uSWGI
- This
- django
- Named export
- JS
- MVT
- Linux
- lv2
- Greedy Algorithm
- Python
- 탐욕법
- react
- db
- SQL
- programmers
- PostgreSQL
- container
- ORM
- django ORM
- lv1
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |