본문 바로가기

전체 글304

[CS스터디] Statement vs PreparedStatement --목차-- Statement? PreparedStatement? Statement vs PreparedStatement -------- 0. 둘 다 SQL을 실행할 수 있는 객체. 1. Statement? 1) 정의 2) 특징 변수 설정+바인딩에서 static sql 사용. (쿼리에 인자 부여 불가) 단일로 사용될 때 빠른 속도. 매번 컴파일 수행. 3) 동작 방식 ㄱ. Parsing(문장 분석) : 먼저 애플리케이션은 문의 틀을 만들고 DBMS로 보낸다. 특정값은 지정하지 않은 채로 남겨진다. ㄴ. Compile(컴파일) : DBMS는 문의 틀을 컴파일하며(최적화 및 변환) 아직 실행하지 않고 결과만 저장한다. ㄷ. Execute(실행) : 나중에 애플리케이션이 SQL문 틀에 있는 변수에 값(바인드).. 2022. 12. 5.
[20221125] Brute Force --목차-- 1. 2309 2. 6064 3. 9095 4. 15649 5. 15653 -------- 1. 2309 https://www.acmicpc.net/problem/2309 #include #include using namespace std; int main() { int arr[9]={0}; int sum=0; for(int i=0; i> arr[i]; sum+=arr[i]; } for(int i=0; i n >> x >> y; //멸망 int maxAns = LCM(m,n); /*구하려는 x=7, x=7인 해에서 m값 더해주기. 7, 17, 27.. */ for(int j=x; j n; DFS(0); cout 2022. 11. 25.
[CS스터디] 교착상태 --목차--- 1. 교착상태? 2. 교착상태를 탐지하는 방법 3. 교착상태 빈도를 낮추는 법 -------- 1. 교착상태(Deadlock)? 1) 정의 2개 이상의 트랜잭션이 특정 자원(테이블 또는 행)의 잠금(Lock)을 획득한 채 다른 트랜잭션이 소유하고 있는 잠금을 요구하면 아무리 기다려도 상황이 바뀌지 않는 상태.(무한 대기 상태) 2) 발생 배경 복수의 트랜잭션을 사용하는 경우 발생 3) 예시 MySQL MVCC에 따른 특성 때문에 트랜잭션에서 갱신 연산(INSERT, UPDATE, DELETE)를 실행하면 잠금을 획득한다. (기본은 행에 대한 잠금) 트랜잭션 1이 첫 번째 행의 잠금을 얻고 트랜잭션 2도 테이블 A의 첫 번째 행의 잠금을 얻은 경우이다. 트랜잭션을 Commit하지 않으 채 서.. 2022. 11. 21.
[CS스터디] 트랜잭션 --목차-- 1. 트랜잭션? 2. 트랜잭션과 Lock의 차이 3. 트랜잭션의 특성 4. 트랜잭션의 상태 5. 주의할 점 6. DBMS의 트랜잭션 관리 전략 -------- 1. 트랜잭션(Transaction)? 논리적인 작업 셋을 모두 완벽하게 처리하거나 처리하지 못할 경우 원 상태로 복구해서 작업의 일부만 적용되는 현상이 발생하지 않게 만들어주는 기능. SELECT, UPDATE, INSERT, DELETE 같은 연산을 수행해 데이터베이스 상태를 변화시키는 작업의 단위. 작업의 완전성 보장. 유저 입장: 작업의 논리적 단위로 이해 가능. 시스템 입장 : 데이터들을 접근 / 변경하는 프로그램의 단위. 2. 트랜잭션과 Lock 1) 잠금(Lock) 동시성 제어를 위한 기능. 여러 커넥션에서 동시에 동일한 .. 2022. 11. 21.