진짜 개발자
본문 바로가기

Database/Mysql (총 6개)

Mysql - Mysql 성능 최적화 - 1 (시스템 설정) MySQL의 시스템 설정 SQL의 실행 성능향상은 어플리케이션에서의 성능향상에 비해 보다 쉽게 수십배에서 수백배까지 가능합니다. 따라서 우리가 실행할 쿼리가 어떻게 동작하는지를 이해하는것이 정말 중요합니다. 이번 포스팅에서는, SQL 쿼리에 영향을 주는 MYSQL의 시스템설정들에 대해서 알아보도록 하겠습니다. ORACLE이나 여타 DB에서는 기본적으로 적용되는 설정들이 다르기 때문에, MYSQL에 대한 설정임을 주의해주세요. 1. SQL모드 설정STRICT_ALL_TABLES기본적으로 저장하려는 값의 길이가 컬럼에 지정된 길이보다 긴 경우, 기본적으로 에러가 발생하지 않고 가능한 길이만큼만 잘라서 저장이 되게 되어있습니다.이때, 만약 저장하려는 길이보다 긴 경우, 에러를 발생시켜 값이 저장되지 않기를 원..
Mysql - Mysql(InnoDB)를 사용할때 성능을 위해 알아야하는 것(Index의 중요성) 이번 포스팅에서는, 자신이 DBMS로 mysql 을 사용한다고 말한다면, 당연히 알아야하는 것에 대해 간단히 알아보려고합니다. 1. Mysql의 구조 먼저, Mysql을 사용할 때 기본으로 알아야하는 것에 알아보기 전에 이해를 돕기 위해, Mysql의 기본구조를 간단하게 살펴보도록 하겠습니다. Mysql은 크게 Mysql 엔진과, 스토리지 엔진 부분으로 나뉩니다. 1.1 Mysql 엔진 Mysql 엔진은 파서, 전처리기, 옵티마이저, 쿼리실행기 등으로 구성되어 있으며, 사용자의 요청을 받아, 쿼리를 검사하고, 스토리지 엔진에게 데이터 읽기 또는 변경에 대한 실행 요청을 합니다. 1.2 스토리지 엔진 스토리지 엔진은 실질적으로, 데이터 파일로부터 데이터를 읽거나, 데이터를 쓰고 변경하는 작업을 진행합니다...
Mysql - group by, having, max(count), inner query 예제 (가장 많이 조회된 글의 번호 구하기) 가장 많이 조회된 글 번호 구하기 쿼리 예제 이번 포스팅에는 가장 많이 조회된 글의 번호를 구하는 쿼리를 알아보도록 하겠습니다. 1. Table사용할 테이블의 스키마 입니다. no는 외래키이며 post(게시판) 테이블의 기본키로 글 번호를 뜻합니다. post_statistic테이블의 기본키는 no, access_date(합성키) 입니다. 이런식으로 글 번호마다 언제 조회를 했는지를 저장하는 테이블입니다. 2. 가장 많은 조회수를 가지는 글번호(no) 구하기2.1 no별 조회수 구하기 (Group by)우선 각 no 별 조회수를 구하기 위해 group by 를 이용하여 쿼리를 작성합니다. ( group by를 사용해야 하는 경우 - https://wkdtjsgur100.github.io/groupby-ha..
Mysql - select문 응용 select문 응용 Select문 응용mysql의 select문의 응용방법을 살펴보도록 하겠습니다. 최근 모 기업의 코딩테스트를 보았는데. 마지막 문제에서 간단한 쿼리 문제가 나왔었습니다. 근데 시간도 시간이지만 자신이 없어서 인지 뺑뺑돌다가 결국 시간이 다되어 제대로 풀어보지도 못했습니다. 때문에 sql에 대한 공부도 조금씩 다시 해나아갈 예정입니다. 예제 DB 자료이번 포스팅의 예제에서 사용될 Sampl DB는 Mysql에서 제공하는 World.db입니다. 아래의 경로는 mysql 홈페이지에서 제공하는 world.db 설치방법 document 링크입니다.https://dev.mysql.com/doc/world-setup/en/world-setup-installation.html 1. 검색결과의 정렬(..