Database/MySQL 15

MySQL 기본 Query 정리

MySQL 기본 Query 정리실제 DB를 다루다보면 Select/Update/Delete/Insert 및 Join이외에 컬럼 수정 및 인덱스 추가 등의 쿼리를 사용하게 된다. 관련된 내용을 간단하게 정리해보자index 추가하기create index [index_name] on [table_name] ([column_name], ...); create unique index [index_name] on [table_name] ([column_name], ...); 테이블 컬럼 보기desc [tableName] 테이블의 사이즈 및 인덱스 사이즈 확인하기show table status from [dbname] lentgh 사이즈 단위는 byte실행 계획explain[Query...] 컬럼 추가하기alter ..

Database/MySQL 2018.02.11

SubQuery 활용

SubQuery 활용JoinQuerySELECT C.co_cd, C.district, SUM(emp_nbr) as sum_empFROM Comapnies CINNER JOIN Shops SON c.co_cd = S.co_cdWHERE main_flg = 'Y'GROUP BY c.co_cd결합을 먼저 수행회사테이블과 사업소 테이블의 결합(join)를 먼저 수행하고, 결과를 Group by를 적용해서 집약SubQuerySELECT C.co_cd, C.district, CSUM.sum_empFROM Comapnies CINNER JOIN ( SELECT co_cd, SUM(emp_nbr) as sum_emp FROM Shops WHERE main_flg = 'Y' GROUP BY co_cd) CSUMON C...

Database/MySQL 2017.06.25

DB Isolation Level

Database Isolation LevelREAD UNCOMMITTED(dirty read)다른 트랜잭션이 Commit 전 상태를 볼 수 있음 Binary Log가 자동으로 Row Based로 기록됨 (Statement설정 불가, Mixed 설정 시 자동 변환)READ-COMMITTEDCommit된 내역을 읽을 수 있는 상태로, 트랜잭션이 다르더라도 특정 타 트랜잭션이 Commit을 수행하면 해당 데이터를 Read할 수 있음 Binary Log가 자동으로 Row Based로 기록됨 (Statement설정 불가, Mixed 설정 시 자동 변환)REPEATABLE READMySQL InnoDB 스토리지 엔진의 Default Isolation Level Select 시 현재 데이터 버전의 Snapshot을 ..

Database/MySQL 2017.06.11