Database 14

[MySQL] 날짜 차이 함수 DATEDIFF, TIMESTAMPDIFF

단순히 일 차이를 가져올 때는 DATEDIFF 함수를 날짜 차이를 연, 분기, 월, 주, 일, 시, 분, 초를 지정해서 가져올 때는 TIMESTAMPDIFF 함수를 사용 DATEDIFF DATEDIFF(date1, date2); // date2 - date1 TIMESTAMPDIFF TIMESTAMPDIFF(unit, date1, date2); 단위 SECOND : 초 MINUTE : 분 HOUR : 시 DAY : 일 WEEK : 주 MONTH : 월 QUARTER : 분기 YEAR : 연 https://school.programmers.co.kr/learn/courses/30/lessons/151138 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필..

Database/SQL 2023.01.25

[MySQL] GROUP BY와 HAVING

GROUP BY 특정 컬럼 이름을 지정 해주면 그 컬럼의 UNIQUE한 값에 따라서 데이터를 그룹 짓고, 중복된 열은 제거한다. 보통 집합 함수 (AVG, SUM, COUNT 등) 과 같이 쓰인다. https://kk-programming.tistory.com/38 참고 HAVING GROUP BY한 결과에 조건을 붙이고 싶을 때 사용한다. GROUP BY의 WHER절과도 같다. https://school.programmers.co.kr/learn/courses/30/lessons/131536 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr SELECT U..

Database/SQL 2022.12.04

[Redis] 레디스 영속성 (Redis persistence)

✅ Redis Persistence Persistence는 solid-state disk (SSD)와 같은 내구성 있는 저장소에 데이터를 쓰는 것을 의미한다. 📌 Persistence Options RDB (Redis Database) 지정된 간격으로 데이터 세트의 특정 시점 스냅샷을 수행 AOF (Append Only File) 서버에서 수신한 모든 쓰기 작업을 기록 append only file 방식으로 입력, 수정, 삭제가 실행될 때마다 로그가 저장되며, 기본적인 설정으로는 appendonly.aof 파일의 로그가 저장되는데 조회는 제외하고 저장된다. 서버 시작 시 기록된 쓰기 작업이 다시 재생되어 데이터 세트를 재구성할 수 있다. No Persistence 영속성을 완전히 비활성화 RDB + AO..

Database/NoSQL 2022.12.04

[MySQL] MySQL NULL 처리 - IFNULL, CASE, COALESCE

https://velog.io/@gillog/DB-MySQL-NULL-%EC%B2%98%EB%A6%ACIFNULL-CASE-COALESCE [DB] MySQL NULL 처리(IFNULL, CASE, COALESCE) MySQL에서 Column의 값이 Null인 경우를 처리해주는 함수들은 IFNULL, CASE, COALESCE과 같은 함수들이 있다.Orcale의 NVL()과 비슷한 기능을 한다.해당 Column의 값이 NULL을 반환할 때, 다른 값으로 출력할 수 있 velog.io ✅ IFNULL 해당 Column의 값이 NULL을 반환할 때, 다른 값으로 출력 할 수 있도록 하는 함수 📌 IFNULL SELECT IFNULL(Column명, "Null일 경우 대체 값") FROM 테이블명; -- NA..

Database/SQL 2022.11.21

[Cache] 캐시란?, 로컬캐싱 vs 글로벌 캐싱, 캐시전략들

✅ 파레토의 법칙 사회에서 일어나는 현상의 80%는 20%의 원인으로 인해 발생된다. 인터넷 통신의 80%가 20%의 사이트에 대한 액세스로 추정되며, 이 20%의 웹사이트 데이터를 캐시해두면 효율을 극적으로 향상할 수 있다. ✅ 캐시란? 데이터의 원래 소스보다 더 빠르고 효율적으로 엑세스할 수 있는 임시 데이터 저장소 캐싱 저장소는 원본보다 빠른 접근 속도를 가진다. 사용되었던 데이터는 다시 사용되어질 가능성이 높다는 개념 을 이용하여, 다시 사용될 확률이 높은 것은 더 빠르게 접근 가능한 저장소를 사용한다는 개념 ✅ 사용하면 좋은 경우 단순한 데이터 동일한 데이터를 반복적으로 제공해야하는 경우 (자주 조회되는 데이터) 데이터의 변경주기가 빈번하지 않고, 단위 처리 시간이 오래걸리는 경우 (데이터 갱신..

Database 2022.11.09

[MySQL] DB, Table import & export

sql 파일로 DB export mysqldump -u [user] -p [password] [원본 db명] > [파일경로]/[파일명].sql sql 파일로 Table export mysqldump -u [user] -p [password] [원본 db명] [table명] > [파일경로]/[파일명].sql 특정 Table 제외 export mysqldump -u [user] -p [password] --ignore-table=[제외할 table명] [db명] > [파일경로]/[파일명].sql sql 파일로 DB import mysqldump -u [user] -p [password] [db명] < [파일경로]/[파일명].sql sql 파일로 Table import mysqldump -u [user] -p..

Database/SQL 2022.10.19

[MySQL] MySQL 명령어

MySQL 접속 mysql -u [user] -p RDS MySQL 접속 mysql -u -p --host 현재 실행 중인 쿼리 확인 show processlist; 쿼리 강제 종료 kill DB별 용량 확인 SELECT table_schema "Database", ROUND(SUM(data_length+index_length)/1024/1024,1) "MB" FROM information_schema.TABLES GROUP BY 전체 용량 확인 SELECT SUM(data_length+index_length)/1024/1024 used_MB, SUM(data_free)/1024/1024 free_MB FROM information_schema.tables; Source https://ssssssu12...

Database/SQL 2022.10.18

[MySQL] 데이터 베이스 인덱스

데이터 베이스 인덱스란? 기준 없이 정렬된 경우 → 전체 데이터에서 순차적 확인 → 느리다 데이터가 특정 기준으로 정렬되어 있다면 검색을 빠르게 할 수 있다. 인덱스는 데이터베이스 테이블에 대한 검색 성능을 향상시키는 자료구조이며 WHERE 절 등을 통해 활용된다. select * from member where email = 'ella@whatt.com' 인덱스 특징 항상 최신의 정렬 상태를 유지 인덱스도 하나의 데이터 베이스 객체 데이터베이스 크기의 약 10% 정도의 저장공간 필요 페이지 데이터가 저장되는 단위 Full Table Scan 순차적으로 접근 적용 가능한 인덱스가 없는 경우 인덱스 처리 범위가 넓은 경우 크기가 작은 테이블에 엑세스 하는 경우 (데이터 베이스가 인덱스를 적용해도 성능 상 ..

Database/SQL 2022.10.08

[MySQL] DB, Table, Data, Column 생성, 조회, 수정, 삭제

✅ DATABASE 📌 DB 생성 create database default character set utf8mb4 default collate utf8mab4_general_ci; create database ; 📌 DB 조회 show databases; 📌 RENAME TABLE 을 이용한 DB 이름 변경 select concat('rename table ',table_schema,'.',table_name,' to ','새DB명.',table_name,';') from information_schema.tables where table_schema like '기존DB명'; 📌 DB 삭제 drop database ; ✅ TABLE 📌 TABLE 생성 create table ( id bigint pri..

Database/SQL 2022.09.26

[MongoDB] PyMongo(python 라이브러리)로 MongoDB사용하기

🔥 PyMongo, dnspython 설치 'pip install pymongo' , 'pip install dnspython' 🔥 DB 연결 👉 MongoDB Atlas 사용하기 MongoDB Atlas는 무료 클라우드를 제공해준다. MongoDB Atlas 클러스터 생성은 ' 무료 몽고디비 Atlas ' 참고 DB 연결을 위해 아래 코드를 추가한다. from pymongo import MongoClient client = MongoClient('mongodb+srv://test:a@cluster0.mndqybx.mongodb.net/myFirstDatabase?retryWrites=true&w=majority') 클러스터 연결하면서 'connection stirng' 을 복사하라고 나온다. 그 con..

Database/NoSQL 2022.07.21