일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- redis
- hashcode
- stream
- KEVISS
- java
- docker
- 조합
- Test
- 테스트 코드
- AOP
- 필드 주입
- 바이너리 카운팅
- DDL
- 열 속성
- static
- select_type
- 생성자 주입
- SQL
- DI
- cache
- MSA
- Spring
- jwt
- lambda
- VUE
- 재정의
- jpa
- StringBuilder
- equals
- 인덱스
- Today
- Total
목록전체 글 (196)
백엔드 개발자 블로그
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bEQLA5/btsLs0BcRU9/zkijz8WH0M6giMdkovEU01/img.png)
학습Event Scheduler 사용여부 확인SHOW VARIABLES LIKE 'event%'; Scheduler ON/OFFSET GLOBAL event_scheduler = ON; Event Scheduler 확인SELECT * FROM information_schema.EVENTS; 생성[ ]는 생략 가능event_name : 이벤트 이름schedule : 수행, 반복할 시간 및 기간event_body : 수행할 쿼리문scheduleAT : 수행할 시간EVERY : 반복할 시간STARTS, ENDS : 반복할 기간Interval 종류실습-- 1. Table CREATE 문CREATE TABLE user_logs ( id INT AUTO_INCREMENT PRIMARY KEY, usern..
1. 저장 프로시저 생성저장 프로시저는 `CREATE PROCEDURE` 문을 사용해 생성됩니다.기본 문법:sql코드 복사CREATE PROCEDURE 프로시저이름([매개변수])BEGIN -- SQL 문들END;`프로시저이름`: 저장 프로시저의 이름.`[매개변수]`: 저장 프로시저에 전달할 입력값, 출력값 등을 정의.`BEGIN ... END`: 실행할 SQL 블록을 묶음.2. 매개변수저장 프로시저는 매개변수를 사용할 수 있습니다:**IN**: 호출 시 값을 입력받아 사용.**OUT**: 프로시저 실행 후 값을 반환.**INOUT**: 입력과 출력으로 모두 사용.예시:sql코드 복사CREATE PROCEDURE ExampleProcedure(IN name VARCHAR(50), OUT count I..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/byeF1C/btsLgekoBbq/UUELUhHP9s0LhvKA5EWhK1/img.png)
인덱스란B-Tree 구조인덱스는 해당 자료구조를 사용함시간 복잡도 : O(logN) 인덱스 종류프라이머리 키 인덱스 :PK or Unique 칼럼을 인덱스로 한거탐색과정 B-Tree와 비슷 세컨더리 인덱스 프라이머리 키 외 인덱스인덱스 두번 스캔함 : 세컨더리 인덱스의 리프노드가 PK일 경우 레코드 하나가 변할 때마다 바꿔줄 필요가 없어짐인덱스의 주의사항CUD의 오버헤드 : 데이터 삽입시 리프노드를 분리하고, 올려줘야 되므로 오베헤드 발생가능성 있음디스크 사용량 : 2G 복합키 인덱스 9개 해주면 9G ㅎㄷㄷ인덱스의 여러가지 스캔 방식 인덱스 레인지 스캔 필요한 범위만 읽는 효율적인 스캔 방식랜덤 I/O : 인덱스가 아닌 정보까지 조회하면 발생함테이블의 랜덤 I/O가 25% 넘어가면 full table..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/nmB25/btsLe3RLcLl/pYm1yujs6v69FVc7Va44fK/img.png)
MySQL 아키텍처MySQL 엔진(SQL문 분석, 최적화) + 스토리지 엔진(데이터 저장/조회)MySQL 옵티마이저는 MySQL 엔진에 포함됨실행과정1. SQL 파서 : SQL문을 MySQL 서버가 이해할 수 있도록 분리 = 파스 트리2. SQL 옵티마이저 : 파스 트리를 확인하여 쿼리 최적화 및 실행계획 수립3. 데이터 읽기/쓰기 : 결정된 정보를 토대로 스토리 엔진에서 필요한 데이터 가져오기실행계획이란?옵티마이저가 결정한 최적의 쿼리 실행방법실행계획 분석type : 각 테이블의 레코드를 어떤 방식으로 조회했는지오른쪽으로 갈수록 안좋음const : 일치하는 행이 하나, 조건절에 PK or Unique 컬럼 이용ref : PK or Unique 컬럼이 아닌 인덱스, 동등 조건으로 검색할 때range : ..