Back-End/Database3 [MySQL] 실행 계획 서버 개발자라면 운영하는 서비스의 데이터를 어떻게 잘 보관하고 다룰지 늘상 고민하는 것이 가장 중요하다고 생각합니다. 방대한 양의 데이터 사이에서 데이터를 조회할 때, 효율적인 접근 방식을 탐색하고 개선하는 방법을 고민하면서 이번 기회에 MySQL에서의 실행 계획에 대한 개념을 정리하고자 합니다. 실행 계획 SELECT 쿼리 앞에 EXPLAIN 명령문을 위치하고 실행하면 MySQL은 옵티마이저로부터 쿼리의 실행 계획을 가져와서 출력해 줍니다. 이를 통해서 옵티마이저가 최적의 순서로 테이블을 조인할 수 있는지 검사할 수 있고, 조회가 지체되는 구간을 확인해서 인덱스 구성에 대한 고민과 함께 성능 향상을 위한 개선 방안을 찾을 수 있습니다.여기서 옵티마이저란, 쿼리를 최적으로 실행하기 위해 각 테이블의.. 2024. 12. 19. SQL vs. NoSQL 관계형 데이터베이스 구조화된 데이터를 표현하기 위해 테이블(Relation)을 사용하며, 테이블의 구조와 데이터 타입 등을 사전에 정의한다. 이렇게 정의된 열의 데이터 타입대로 작성된 데이터가 행으로 축적된다. 스키마가 뚜렷하게 보이기 때문에 테이블 간의 관계를 직관적으로 파악할 수 있으며, SQL을 활용해 원하는 정보를 쿼리할 수 있다.Column(Field): 테이블의 한 열Record(Tuple): 테이블의 한 행Key: 테이블의 각 레코드를 구분할 수 고유의 값기본키(Primary key): 테이블의 각 행을 고유하게 식별하는 값을 가진 열외래키(Foreign key): 두 테이블의 데이터 간 연결을 설정하고, 외래 키 테이블에 저장될 수 있는 데이터를 제어하는 데 사용되는 열예: MySQL,.. 2022. 8. 4. SQL 데이터베이스의 필요성 In-Memory데이터를 완전 보호할 수 없으며, 프로그램이 OFF 상태면 데이터를 받아 올 수 없다.데이터 수명이 프로그래밍 수명에 의존한다.(JavaScript의 경우 변수 등에 저장한 데이터가 프로그램의 실행에 의존!) File I/O데이터 필요 시점마다 전체 파일을 읽어야 해서 크기가 클수록 비효율적이다.(+ 파일 손상이나 여러 파일을 동시에 다룰 때에도)관계형 데이터베이스에서는 하나의 CSV 파일이나 엑셀 시트를 한 개의 테이블로 저장할 수 있다.한 번에 여러 개의 테이블을 가질 수 있기 때문에 SQL을 활용해 데이터를 불러 오기 수월하다. SQLStructured Query Language 데이터베이스용 프로그래밍 언어로, 주로 관계형 데이터베이스에서 사용한다MySQL,.. 2022. 8. 4. 이전 1 다음