RadarURL
Skip to content
2015.03.16 20:17

MYSQL 성능 향상 정리

조회 수 112 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

1.TABLE 관련

 

OPTIMIZE TABLE

table type이 myisam이나 bdb에서 사용하며 많은양의 데이터가 삭제되었거나 삽입되었을때 사용하면 속도향상에 좋습니다.

ex)optimaze table table_name;

 

2.QUERY 관련

 

JOIN

join이 subquery보다 빠르다.
join시 사용되는 컬럼은 동일한 column type과 길이를 가져야만 최적의 속도를 보장한다.

 

index설정

인덱스를 적절히 잡아줍니다.

 

필요한 컬럼만 select 한다.

select * 되어 있는부분을 필요할 필드만 가져옵니다.

 

processlist로 실행 쿼리를 mysql상태를 체크

cd /usr/local/mysql
./bin/mysqladmin -i3 processlist -ppassword

//3초에 한번씩 실행됩니다.

 

잘못된 query 발견

explain으로 질의과정 점검 몇번의 레코드를 검색하여 수행하는지 그리고 해당 컬럼이 index를 잘타는지 보고 쿼리를 수정합니다.

 

slow query log기능

 slow query log를 걸어놓고 slow query time를 한 5초로 정해주시면 5초 이상 실행이 걸리는 쿼리는 모조리 로그에 남습니다.
그 query를 튜닝합니다.(explain이용)

 

query우선 설정

select 구문에는 
select HIGH_PRIORITY id,name, ... from table_name ...

delete, insert, update 구문에는
delete LOW_PRIORITY from table_name ....

 

mysql 4.x 이상부터 지원! 

query cache을 사용합니다.

 

int형과char형의 검색속도차이

int 가 char보다는 검색속도가 더 빠르다고 하지만 시스템구성과 환경마다 다릅니다.

 

3.하드웨어 관련

 

웹호스팅이 아닌 서버호스팅을 합니다.

 

평균 조회 레코드 50만건이상

조회 데이타가 50만건~100만건이면 DB서버와 웹서버를(이미지 서버등등) 나누어 분산처리(2-Tier)하며 조회 건수가 100만건 이상은 ORACLE같은 상용 DB로 교체해야 한다.

 

메모리를 증설 합니다.

1-2G 정도

 

하드디스크 스카시로 교체

e-ide보다 데이타 io(입/출력) 더 빠르다.(10000 rpm이상급)


출처 : http://www.zetswing.com/bbs/board.php?bo_table=MySQL_LEC&wr_id=47

TAG •
?

  1. No Image 05Jul
    by JAESOO
    2016/07/05 by JAESOO
    Views 88 

    mysql이 cpu를 많이 점유하고, DB와의 연결상태가 좋지 않을때

  2. No Image 17Mar
    by JAESOO
    2015/03/17 by JAESOO
    Views 103 

    Mysql slow-query를 이용한 로그 분석

  3. No Image 17Mar
    by JAESOO
    2015/03/17 by JAESOO
    Views 129 

    Mysql 데몬 문제 해결 방안 (cpulimit)

  4. No Image 16Mar
    by JAESOO
    2015/03/16 by JAESOO
    Views 693 

    리눅스 실시간으로 로그 보기 tail 명령어

  5. No Image 16Mar
    by JAESOO
    2015/03/16 by JAESOO
    Views 449 

    mysql 5.5.x my.cnf 참고

  6. No Image 16Mar
    by JAESOO
    2015/03/16 by JAESOO
    Views 503 

    Mysql Slow query log 등록

  7. No Image 16Mar
    by JAESOO
    2015/03/16 by JAESOO
    Views 112 

    MYSQL 성능 향상 정리

  8. No Image 16Mar
    by JAESOO
    2015/03/16 by JAESOO
    Views 370 

    MySQL Query Cache 사용법

  9. No Image 25Dec
    by JAESOO
    2014/12/25 by JAESOO
    Views 137 

    Mysql 에서 Got a packet bigger than 'max_allowed_packet' bytes 오류

  10. No Image 25Dec
    by JAESOO
    2014/12/25 by JAESOO
    Views 269 

    MySQL 내부 변수 max_allowed_packet

  11. No Image 17Nov
    by JAESOO
    2014/11/17 by JAESOO
    Views 270 

    Mysql binary log 정리, 삭제 주기 설정

  12. No Image 17Nov
    by JAESOO
    2014/11/17 by JAESOO
    Views 482 

    MySQL 로그 파일 관리 2 - 로그 파일 남기기

  13. No Image 17Nov
    by JAESOO
    2014/11/17 by JAESOO
    Views 375 

    MySQL 로그 파일 관리 1 - 설정

  14. No Image 17Nov
    by JAESOO
    2014/11/17 by JAESOO
    Views 191 

    MySQL Binary Log 지우는 방법

  15. No Image 17Nov
    by JAESOO
    2014/11/17 by JAESOO
    Views 3958 

    MySQL 설치/사용시 발생 에러 유형별 대처방법

  16. No Image 17Nov
    by JAESOO
    2014/11/17 by JAESOO
    Views 244 

    Mysql 데이터 폴더의 mysql-bin.xxx 파일들 관련 삭제 및 초기화 방법

  17. No Image 07Jul
    by JAESOO
    2014/07/07 by JAESOO
    Views 1645 

    MySQL my.cnf 파일 수정으로 mysql 서버 튜닝하기

  18. No Image 07Jul
    by JAESOO
    2014/07/07 by JAESOO
    Views 1212 

    MySQL에 원격 접속 허용

  19. No Image 23Jan
    by JaeSoo
    2014/01/23 by JaeSoo
    Views 1234 

    mysql에서 (테이블명) is marked as crashed and should be repaired 에러시

  20. 왜 MySQL 에서 InnoDB 를 써야하는가? InnoDB vs MyISAM 비교

Board Pagination Prev 1 2 Next
/ 2

PageViews   Today : 905 Yesterday : 1026 Total : 21710812  /  Counter Status   Today : 653 Yesterday : 813 Total : 1140549

Edited by JAESOO

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소