본문 바로가기

mysql3

[Mysql] Mysql 5.7 정렬 최적화(Optimization) 안녕하세요. 오늘은 Mysql 5.7 버전에서 정렬을 최적화 하는 방법에 대해서 알아보도록 하겠습니다. RDMBS 정렬 RDBMS를 사용하다보면 정렬된 정보를 이용해야할 경우가 많이 생깁니다. 이럴경우 우리는 조회하는 쿼리에 ORDER BY를 이용해서 RDBMS에서 정렬 시킨 후 정렬된 데이터를 가져와서 어플리케이션에서 이를 이용하곤 합니다. 하지만 이런 정렬도 잘 이용하지 않으면 RDBMS로부터 빠른 응답을 기대할 수가 없는데요. 그 이유는 간단히 설명드리면 데이터는 디스크에 저장되고 이 걸 select 쿼리에 의해서 가져옵니다. 그리고 Mysql 엔진에서 내부에서 임시테이블을 만들어 filesort를 진행하게 되는데 됩니다. 그런데 데이터가 커지면 디스크에서 한번에 가져올 수 없으며 여러번 나눠서 가.. 2022. 2. 12.
[database] mysql과 mariaDB 중 어떤 DB가 나에게 맞을까? 안녕하세요. 오늘은 mysql과 mariaDB에 대한 차이점을 알아보고 어떤것을 사용하면 개인에게 그리고 팀에게 적합할지 알아보는 시간을 가져보도록 하겠습니다. 히스토리 mariaDB는 mysql의 개발자가 나와서 만들었다는 사실은 다들 익히 알고 계실껍니다. 저도 여기까지는 어디선가 들어가 이미 알고 있던 정보입니다. 그렇습니다. mariaDB의 개발자인 Monty는 회사를 나와 MontyProgram AB라는 회사를 차리면서 mariaDB를 만들게 된것입니다. mysql을 기반으로 fork하여 자체적으로 개발하는 서비스로 mariaDB 뿐만이 아니라 PerconaServer도 있다고 합니다. 이들간의 관계를 한번 보도록 하겠습니다. 그렇습니다. mariaDB는 mysql의 엔진에 PerconaServ.. 2021. 5. 26.
[데이터베이스] MySQL의 Lock과 트랜잭션 모델 안녕하세요. 이전 포스팅, [DataBase] Lock에 대해서 알아보자 - 기본편에서 우리는 Lock이란 어떤 것이고 DBMS에서는 Lock을 어떤 경위로 사용는지에 대해서 자세하게 알아보았습니다. 도움이 되셨을까요? 포스팅에서도 말했다시피 Lock은 DBMS마다 조금씩 구현하는 요소들이 다릅니다. 대표적인 예로 MySQL은 읽는것에 대해서도 Lock(공유 락)을 잡는 반면 Oracle에서는 Lock을 전혀 잡지 않습니다. 오늘은 Mysql의 Lock과 트랜잭션에 대해서 공식문서를 보며 한번 파헤쳐보도록 하겠습니다. 이번 포스팅은 Lock에 대해서 기본적인 지식이 있다라는 것을 전제로 만들어 졌습니다. 혹시 개념이 없으시거나 미흡하다고 생각되시는 분들은 Lock에 대한 포스팅및 트랜잭션 및 격리성에 대.. 2020. 11. 4.