사용자 도구

사이트 도구


database:mysql:performance

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
다음 판 양쪽 다음 판
database:mysql:performance [2019/02/18 13:51]
kwon37xi
database:mysql:performance [2019/03/31 13:56]
kwon37xi
줄 3: 줄 3:
 ===== 항상 확인 할 것 ===== ===== 항상 확인 할 것 =====
   * 항상 운영체제의 **ulimit**값을 확인해야 한다. CentOS에서는 ''/etc/security/limits.conf''에서 **nproc** 값 조정.   * 항상 운영체제의 **ulimit**값을 확인해야 한다. CentOS에서는 ''/etc/security/limits.conf''에서 **nproc** 값 조정.
 +
 +===== Primary Key index 정렬 순서 =====
 +  * MySQL의 기본 PK 정렬 순서는 **ASC**이다. 5.7 이하에서는 고정이며 8.0부터 ''DESC''지정이 가능해진다.
 +  * 따라서 PK 기준 정렬은 항상 ASC 으로 하는 것이 가장 최적의 성능을 낸다.
 +  * MySQL 8.0 이후부터는 명시적으로 ''CREATE TABLE''에서 정할 수 있으므로 그에 따른다.
 +  * [[https://www.percona.com/blog/2016/10/20/mysql-8-0-descending-indexes-can-speedup-your-queries/|MySQL 8.0 descending indexes can speedup your quereis]]
  
 ===== Lock ===== ===== Lock =====
   * [[http://blog.naver.com/seuis398/70117922756|MySQL(InnoDB)의 트랜잭션 모델]]   * [[http://blog.naver.com/seuis398/70117922756|MySQL(InnoDB)의 트랜잭션 모델]]
   * MySQL은 기본적으로 Read 에 Lock을 걸지 않는다. MVCC로 ISOLATION Level에 따라 값을 가져온다.   * MySQL은 기본적으로 Read 에 Lock을 걸지 않는다. MVCC로 ISOLATION Level에 따라 값을 가져온다.
 +  * [[database:mysql:user_lock|MySQL User Lock]]
 ===== 모니터링 툴 ===== ===== 모니터링 툴 =====
   * [[http://slipp.net/questions/84|MySQL 관리툴들]]   * [[http://slipp.net/questions/84|MySQL 관리툴들]]
database/mysql/performance.txt · 마지막으로 수정됨: 2020/08/26 16:05 저자 kwon37xi