Heeto
article thumbnail
[DB 스터디] DBMS 로그버퍼에서 성능튜닝까지
STUDY 2024. 1. 10. 14:42

DB 스터디 1주차를 진행하며 Reviewer 역할을 맡았습니다. 공부했던 내용을 정리하고 팀원들이 적어준 이슈에 답변하며 스터디를 진행했는데 DBMS에서 로그 버퍼와 로그 파일을 통해 성능을 향상하는 방법이 기억에 남았습니다. "스터디에서 발생한 이슈" https://github.com/code-appender/sql-level-up/issues/4 [ 로그버퍼란 무엇일까 ] 로그버퍼는 DBMS가 사용자로부터 SQL 구문을 입력받아 얻은 변경 정보를 잠시 저장하는 메모리 영역입니다. 임시로 저장된 변경 정보들은 트랜잭션이 커밋되기 전까지 로그버퍼에서 머물게 됩니다. 로그버퍼가 가득차거나 트랜잭션이 커밋되기 전까지는 이어서 트랜잭션이 수행될 수 있습니다. 즉, 사용자의 SQL 구문을 추가적으로 실행하고 ..

article thumbnail
[ 백준 / G5 / 파이썬 Python ] 9519번 졸려

링크 : https://www.acmicpc.net/problem/9519 9519번: 졸려 첫째 줄에 X(1 ≤ X ≤ 1,000,000,000) 가 주어지고, 둘째 줄에 X번 깜박인 후의 단어가 주어진다. 단어는 알파벳 소문자로만 이루어져 있고, 길이는 구간 [3,1000]에 포함된다. www.acmicpc.net 코드 def solution(x,arr): status = int((n := len(arr)) % 2 != 0) arr2 = arr.copy() cnt = 0 while 1: # 싸이클 구하기 left, right = [], [] for i in range(0, n, 2): left.append(arr2[i]) for i in range(n - 1 - status, -1, -2): righ..

article thumbnail
[ 백준 / G5 / 파이썬 Python ] 9011번 순서

링크 : https://www.acmicpc.net/problem/9011 9011번: 순서 n개의 정수로 된 순서 S= (s1, s2, ..., sn)가 있다. 여기서 si ≠ sj이고, 1 ≤ si ≤ n이다. S로부터 새로운 순서 R = (r1, r2, ..., rn)을 얻을 수 있는데, 여기서 ri는 S의 부분 순서 {s1, s2, ..., si-2, si-1} 중에서 www.acmicpc.net 코드 import sys input = sys.stdin.readline # 시간을 4ms 줄여줌ㅋㅋ def solution(n, arr): answer = [0] * n v = list(range(1,n+1)) for i in range(n-1,-1,-1): to = arr[i] if to >= len..

article thumbnail
[ 백준 / G2 / 파이썬 Python ] 13334번 파이썬

링크 : https://www.acmicpc.net/problem/13334 13334번: 철로 입력은 표준입력을 사용한다. 첫 번째 줄에 사람 수를 나타내는 양의 정수 n (1 ≤ n ≤ 100,000)이 주어진다. 다음 n개의 각 줄에 정수 쌍 (hi, oi)가 주어진다. 여기서 hi와 oi는 −100,000,000이상, 100,000,0 www.acmicpc.net 코드 from heapq import heappop,heappush n = int(input()) arr = sorted([sorted(list(map(int,input().split()))) for _ in range(n)], key=lambda x: x[1]) d = int(input()) answer = 0 heap = [] for..

article thumbnail
[ 백준 / G3 / 파이썬 Python ] 2533번 사회망 서비스(SNS)

링크 : https://www.acmicpc.net/problem/2533 2533번: 사회망 서비스(SNS) 첫 번째 줄에는 친구 관계 트리의 정점 개수 N이 주어진다. 단, 2 ≤ N ≤ 1,000,000이며, 각 정점은 1부터 N까지 일련번호로 표현된다. 두 번째 줄부터 N-1개의 줄에는 각 줄마다 친구 관계 트리의 에 www.acmicpc.net 코드 from collections import defaultdict n = int(input()) link = defaultdict(list) for _ in range(n-1): u,v = map(int,input().split()) link[u].append(v) link[v].append(u) leaf = [i for i in range(1,n+1..

article thumbnail
[ 백준 / G4 / 파이썬 Python ] 팀배분

링크 : https://www.acmicpc.net/problem/1953 1953번: 팀배분 첫줄에는 청팀의 사람의 수를 출력하고, 그리고 둘째 줄에는 청팀에 속한 사람들을 오름차순으로 나열한다. 그리고 셋째 줄과 넷째 줄은 위와 같은 방법으로 백팀에 속한 인원의 수, 백팀에 속 www.acmicpc.net 코드 def dfs(idx, t): result[idx],visit[idx] = t,1 for i in [x for x in range(n) if hater[idx][x] == 1 and visit[x] == 0]: dfs(i, -t) n = int(input()) hater = [[0] * n for i in range(n)] for i in range(n): m,*arr = list(map(in..