Primary Key, Candidate Key, Super Key, Foreign Key, Alternate Key
Inner Join, Left outer join, Right outer join, Full outer join
B-treepoint queries(=), range(<, <=, >, >=) query 에 유효Lookup, insert, delete 가 그렇게 빠르진 않다. (트리 변화가 발생하므로)tree 깊이에 따라 disk 가 로딩되므로, 속도 측면에서 매우 빠른
Join 연산 정리 (Nested loop, Sort-Merge, Index Join, Hash Join)
B-Tree index 가 없을 경우 Sort 가 먼저 일어난 후 테이블을 스캔 -> 테이블 크기에 따라 실행 시간이 증가B-Tree index가 있을 경우 B-Tree 에서 바로 사용 가능하므로 sort 가 일어나지 않음내부적으로 group by 로 변환되어 수행됨B
Join 되는 테이블의 데이터 양을 직접 줄인다.SELELCT a1, b2 FROM A, B WHERE a3 = b1 AND a2 = 5 AND b3 = 7SELELCT a1, b2 FROM (SELECT FROM A WHERE a2 = 5), (SELE
OR 연산은 성능 저하의 원인이 됨. 가급적 사용하지 않기(a > 5 AND b = 10) OR (a > 7 AND b = 10)a> AND b = 10함수 호출을 위해 전체 테이블을 풀스캔하며 비효율적인 연산을 할 수 있음특히 큰 테이블의 경우 full scan 으로
WITH 문을 통해 임시 결과를 저장하는 방법옵티마이저가 자동으로 index를 생성긴 쿼리문에 대해 가독성을 향상시켜주는 효과를 가져옴WITH t1 AS (SELECT a1, a2 FROM A), t2 AS (SLECT b1, b2 FROM B) SELECT t1.
Table 작성 시 PK를 무조건 사용해야 하는 이유 https://hodongman.github.io/2019/01/14/Database-PK%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%B4%EC%95%BC-%ED%95%98%EB%8A%94-%EC
데이터베이스별 용량 확인SELECT table_schema "Database Name",SUM(data_length + index_length) / 1024 / 1024 "Size(MB)"FROM information_schema.TABLESGROUP BY table_
UNION, UNION ALL 의 차이, 비교
주요 collection methods
transaction collection 에 없는 user colleciton 가져오기
create user '사용자ID'@'호스트명' identified by '패스워드';ex) create user 'test_user'@'localhost' identified by 'test_password';패스워드 변경SQL : SET PASSWORD FOR '사
Error: cyclic dependency detected 해결 과정
mongodump 로 dump, mongorestore 로 복구