본문 바로가기

database32

트랜잭션의 성질 (ACID) 설명 트랜잭션의 성질 (ACID) Atomic (원자성) 트랜잭션과 관련된 작업들이 부분적으로 실행되다가 중단되지 않는 것을 보장하는 능력이다. 트랜잭션의 모든 연산들은 정상적으로 수행 완료되거나 아니면 전혀 어떠한 연산도 수행되지 않은 상태 Consistency (일관성) 트랜잭션 완료 후에도 데이터베이스가 일관된 상태로 유지되어야 함. 금액의 데이터 타입이 정수형 인데 갑자기 문자열이 되지는 않음. Isolation (독립성) 트랜잭션을 수행 시 다른 트랜잭션의 연산 작업이 끼어들지 못하도록 보장하는 것을 의미한다. Durable (지속성) 성공적으로 수행된 트랜잭션은 영원히 반영 (수행된 이후 장애가 나든 뭘하든 데이터를 지속성있게 유지해야 함.) 전형적으로 모든 트랜잭션은 로그로 남고 시스템 장애 발생.. 2020. 10. 22.
2개 이상의 테이블을 조인하여 update 하는 방법 2개 이상의 테이블을 조인하여 update 하는 방법 아래와 같이 from 절을 조인하여 처리하면 2개 이상의 테이블을 조인한 결과를 가지고 update 가 가능 UPDATE ( SELECT A.* FROM TABLE1 A, TABLE2 B WHERE A.no = B.no ) SET name = 'test' 2020. 10. 1.
having, count 정리 Having Having 은 집계된 결과에 대해서 조건을 거는 것 Having sum(salary) > 100 (salary 총합이 100 이상) where 은 group by 보다 먼저 실행 됨. where count > 10 이라면. 10 초과인 것을 먼저 조회한 후, group by 하겠지. COUNT 갯수를 출력하는 function COUNT(DISTINCT column) 하면 중복 제거한 column 의 count 갯수를 출력 2020. 9. 26.
정규화 비정규화 중 인덱스가 더 효과적인 것은? 정규화 비정규화 중 인덱스가 더 효과적인 것은? 결론 부터 얘기하면 정규화일 때, 인덱스가 효과적이다. 먼저 인덱스를 설명하면 메모리를 희생해서 조희 성능을 높이고자 하는 기법이다. 정규화가 안되있을수록 컬럼 수가 많아지고, 디스크 용량을 많이 차지한다. 컬럼 수가 많아진다면 인덱스 개수도 많아진다. 인덱스 개수가 많아지면 INSERT, DELETE, UPDATE 가 발생하는 순간 시간이 많이 소요되겠지. 그러므로 정규화가 잘 진행되어야 인덱스가 효과적이다. 2020. 8. 19.