반응형

db 5

[Database] MySQL 데이터베이스의 데이터 사전을 information_schema로 확인하기

메타데이터. 데이터베이스에 저장된 데이터의 구조, 형식, 관계 등에 대한 정보를 저장하는 데이터를 뜻합니다. 데이터베이스의 메타데이터는 데이터베이스 자체를 관리하기 위해 사용되며, 일반적으로 시스템 카탈로그(System Catalog) 또는 데이터 사전(Data Dictionary)이라고도 불립니다. 이것을 확인하기 위해서는 다음과 같은 쿼리를 작성합니다. SELECT * FROM information_schema.TABLES 데이터베이스 스키마의 구조 및 내용을 더욱 자세히 파악할 수 있습니다. 데이터베이스 안의 테이블 정보 말고도 다음과 같은 정보들을 확인할 수 있습니다. COLUMNS: 데이터베이스 내의 모든 테이블 컬럼에 대한 정보를 포함합니다. STATISTICS: 인덱스와 관련된 통계 정보를 ..

Study/Database 2023.04.13

[정보처리기사] 파티셔닝과 클러스터링의 차이점

파티셔닝 테이블을 논리적으로 분할하고 각 파티션에 따로 저장하는 것입니다. 각 파티션은 별도의 물리적인 파일이나 디렉토리에 저장됩니다. 파티셔닝을 사용하면 특정 쿼리를 빠르게 수행할 수 있으며, 전체 테이블을 스캔하지 않고도 필요한 데이터에만 접근할 수 있습니다. 따라서 대규모 데이터베이스에서는 파티셔닝을 사용하여 데이터의 조회 및 조작 성능을 향상시키는 경우가 많습니다. 또한, 파티션 기준으로 데이터가 분할되므로, 파티션 단위로 병렬 처리가 가능합니다. 이를 통해 대량의 데이터를 빠르게 처리할 수 있습니다. 파티셔닝 유형은 사용자가 지정해야 하는데, 이는 데이터의 특성에 따라 적합한 유형을 선택해야 합니다. 예를 들어 날짜와 시간에 관련된 데이터의 경우 RANGE나 HASH 파티셔닝이 적합하고, 범주형..

정보처리기사 2023.04.13

[정보처리기사] 정규화 (1NF, 2NF, 3NF, BCNF, 4NF, 5NF)

정규화(Normalization)란 데이터베이스에서 중복을 최소화하거나 데이터를 구조화하는 작업을 의미합니다. 1NF, 원자값이 아닌 도메인 분해 2NF, 부분적 함수 종속 제거 3NF, 이행적 함수 종속 제거 BCNF, 결정자이면서 후보키가 아닌 것 제거 4NF, 다치 종속 제거 5NF, 조인 종속성 이용 데이터베이스를 설계할 때, 중복을 최소화하면 데이터의 일관성을 유지할 수 있고, 데이터를 구조화하면 검색 및 관리가 용이해집니다. 보통 데이터베이스에서 3NF까지 정규화를 수행합니다. 3NF까지 정규화를 수행하면 대부분의 문제를 해결할 수 있기 때문입니다. 물론 특정한 경우에는 3NF 이상의 정규화가 필요할 수 있습니다. 예를 들어, 대규모의 데이터베이스나 특별한 비즈니스 요구 사항을 가진 경우에는 ..

정보처리기사 2023.04.13

[Database] MySQL 실행계획으로 쿼리 최적화를 위한 힌트를 확인하자

이전에 옵티마이저에 대해서 알아보았습니다. https://myallinone.tistory.com/entry/MySQL%EC%9D%98-%EB%91%90%EB%87%8C-%EC%98%B5%ED%8B%B0%EB%A7%88%EC%9D%B4%EC%A0%80optimizer MySQL의 두뇌, 옵티마이저(optimizer) MySQL의 옵티마이저. MySQL 데이터베이스 시스템에서 쿼리를 처리할 때, 최적의 실행 계획을 결정하는 역할을 담당하는 컴포넌트입니다. 쿼리 실행 계획은 데이터베이스에서 쿼리를 처리하는 방법 myallinone.tistory.com 이 옵티마이저는 사용자의 질의를 받고, 그 질의를 최적의 수단을 통해 데이터를 가져와서 우리에게 돌려줍니다. 그 수단이 '쿼리 실행 계획'입니다. MySQL에..

Study/Database 2023.04.13

[Database] SQL을 최적화하려면 이렇게 해야 한다.

다양한 SQL 성능 향상 방법 중 일반적으로 사용되는 몇 가지 방법을 살펴보겠습니다. 1. 인덱스를 적절하게 사용하기 인덱스를 적절히 사용하면 쿼리의 실행 속도를 향상시킬 수 있습니다. 자주 검색되는 컬럼명에 인덱스를 생성하거나, WHERE 절에 자주 사용되는 조건에 인덱스를 생성하는 것이 좋습니다. 이때 해당 컬럼의 열은 중복되지 않는 것이 더욱 성능에 좋습니다. 2. 쿼리의 비용 계산하기 실행 계획을 확인하여 쿼리의 비용을 계산하고, 비용이 큰 작업을 최적화하는 것이 좋습니다. 비용이 큰 작업은 대개 테이블을 스캔하거나, 복잡한 조인 등이 포함된 쿼리입니다. 3. 쿼리의 조건절 최적화하기 조건절을 최적화하여 실행 속도를 향상시킬 수 있습니다. 예를 들어, LIKE 절을 사용할 때는 와일드카드(%)를 ..

Study/Database 2023.04.13
반응형