CS/데이터베이스
-
Redis Intellij DataGrip 적용CS/데이터베이스 2023. 7. 2. 00:01
개요 DB의 경우에는 IntelliJ SQL으로 조회하는 게 익숙하지만 Redis의 경우에는 데이터를 조작하는 게 익숙하지 않기 때문에 Document들을 살펴보며 익숙해지는 과정을 거치고자 합니다. IntelliJ DataGrip, Redis 지원 시작 https://www.jetbrains.com/ko-kr/datagrip/whatsnew/2022-3/ DataGrip 2022.3의 새로운 기능 www.jetbrains.com 2022.3 버전부터 Redis 지원이 시작됩니다. Redis 연결법 Host와 Port를 입력하면 바로 연결이 됩니다. sets에 2개의 qr-session, refresh-token이 보입니다. hash tables은 979개가 존재합니다. hash table은 SET에 저..
-
docker에서 postgresql table 확인CS/데이터베이스 2023. 6. 27. 00:01
docker-compose.yaml version: '3.8' services: postgresql: image: postgres:14.6 # volumes: # - ~/volumes/jhipster/jhip_api_first/postgresql/:/var/lib/postgresql/data/ environment: - POSTGRES_DB=postgresdb - POSTGRES_USER=admin - POSTGRES_PASSWORD=psltest - POSTGRES_HOST_AUTH_METHOD=trust # If you want to expose these ports outside your dev PC, # remove the "127.0.0.1:" prefix ports: - 127.0.0.1:54..
-
MySQL workbench 계정 추가하기CS/데이터베이스 2022. 7. 16. 12:32
1. root 계정으로 접속 2. Navigator -> Administration -> Users and Privileges -> Add Account -> Login 정보 작성 3. Administrative Roles -> 모든 권한을 다 체크 -> Apply 4. MySQL Connections를 추가합니다. Setup New Connection에 등록했던 값을 입력합니다. store in Valut... 를 클릭하고 비밀번호를 입력합니다. Test Connection 버튼을 눌러서 성공 창이 뜨는지 확인합니다. 계정이 성공적으로 생성되었습니다. 출처 https://moo-you.tistory.com/211 MySQL 워크벤치 계정추가하기 지난 포스팅에서 MySQL utf8 설정까지 했습니다. h..
-
MySQL index 적용해보기 + Full Text Index 적용CS/데이터베이스 2022. 7. 4. 20:15
다음 글을 읽기 위해 필요한 지식은 다음과 같습니다. - 기초 MySQL 문법 - 인덱스 - 실행계획 테이블 생성 우선 Index를 적용하기에 앞서 간단한 테이블을 생성해 보겠습니다. Metting(회의) 테이블은 회의 id와 회의 이름을 가집니다. CREATE TABLE Meeting( metting_id int primary key AUTO_INCREMENT, meeting_name varchar(100) NOT NULL ); Dummy 데이터 넣기 INSERT INTO Meeting Values(1,'abc'); INSERT INTO Meeting Values(2,'ab'); INSERT INTO Meeting Values(3,'f'); INSERT INTO Meeting Values(4,'abcd..
-
데이터베이스 조인의 모든것에 대해서 알아보자CS/데이터베이스 2022. 6. 19. 20:40
정리한 내용은 다음과 같습니다. 전반적인 Join의 개념과 등장 배경 다양한 Join 방법(Inner Join, Outer Join, Self Join, Cross Join) + 옵티마이저와 힌트 맛보기 Join이 실제로 수행되는 과정(Nested Loop Join, Sort Merge Join, Hash Join) 조인이란? 한 데이터베이스 내의 여러 테이블의 레코드를 조합하여 하나의 열로 표현한 것입니다. 글보다는 사진으로 예시를 들어보겠습니다. 한 데이터베이스 내의 여러 테이블의 레코드를 조합하여 하나의 열로 표현한 것입니다. => 한 데이터베이스 내의 사원과 부서 테이블의 레코드(이름, 부서명)를 조합하여 하나의 (이름, 부서명) 테이블로 표현합니다. 조인이 등장하게 된 이유(조인의 필요성) 관계..
-
데이터베이스 ReplicationCS/데이터베이스 2022. 6. 2. 01:06
Replication이란? 사전적으로 "복제"라는 뜻을 가지고 있습니다. 이때 기준이 되는 서버를 마스터 서버라고 하며, 마스터 서버와 동일한 내용을 갖는 또 다른 서버를 리플리카라고 합니다. 애플리케이션은 데이터베이스에 SQL 명령을 보내 데이터를 삽입/변경/삭제하게 되는데 마스터 서버는 SQL 명령을 수신하면 그 SQL 명령을 리플리카 서버에도 똑같이 보냅니다. 이렇게 되면 마스터 서버와 리플리카 서버의 데이터가 동일한 상태로 유지됩니다. Why Replication? 굳이 복제하는 이유가 뭘까요? 바로 데이터의 안정성을 위함입니다. 어떤 원인으로 인해 데이터가 손상되었을 때, 가장 기초적인 대처는 백업을 가지는 것입니다. 하지만 백업이 얼마나 주기적으로 일어나는지에 따라 백업된 시간과 장애가 발생한..
-
DB 옵티마이저와 실행계획CS/데이터베이스 2022. 6. 1. 21:48
옵티마이저(Optimizer)란? 가장 효율적인 방법으로 SQL을 수행할 최적의 처리 경로를 생성해주는 DBMS의 핵심 엔진입니다. 컴퓨터의 두뇌가 CPU라면 DBMS의 두뇌는 옵티마이저입니다. 만약 개발자가 SQL을 작성하고 실행하면 옵티마이저는 쿼리문을 어떻게 실행시키기 위하여 실행계획을 세우게 됩니다. 실행계획을 세운 뒤 시스템 통계정보를 활용하여 각 실행계획의 예상 비용을 산정한 후 각 실행계획을 비교해서 최고의 효율을 가지고 있는 실행계획을 판별한 후 해당 쿼리를 수행합니다. 옵티마이저가 하는 일을 요약하자면 다음과 같습니다. 1. 여러 가지 실행계획을 세운다. 2. 실행계획들을 비교하여 최적의 상황을 찾는다. 규칙 기반 옵티마이저 인덱스의 유무, SQL에서 사용하는 연산자 등을 고려하여 우선순..
-
MySQL 테이블 생성CS/데이터베이스 2022. 5. 24. 11:26
1. 데이터베이스 먼저 만들기 CREATE DATABASE 'DB이름'; /*생성*/ DROP DATABASE 'DB이름'; /*삭제*/ USE 'DB이름'; /*사용*/ 2. 테이블 만들기 CREATE TABLE [테이블명] ( [컬럼명] [데이터타입] (NOT NULL / DEFAULT NULL), [컬럼명] [데이터타입] (NOT NULL / DEFAULT NULL), PRIMARY KEY([기본키로 지정할 컬럼명]), FOREIGN KEY ([외래키로 지정할 컬럼명]) REFERENCES [참조테이블명] ([참조테이블의 컬럼명]) ) ENGINE=[엔진명] DEFAULT CHARSET=[인코딩] create table boardcomment( boardcommentno int primary key..