세션 기반의 메모리 사용시 주의 사항
- 필요 이상으로 너무 많은 메모리를 할당 자제(특히 세션 기반의 메모리 할당시)
- 128KB를 할당할 때보다 2MB의 메모리를 할당할 때, 훨씬 더 많은 시간이 소모됨
- Linux의 메모리 할당 함수[malloc()]는 내부적으로 512KB 미만의 경우에는 brk()함수를, 그 이상인 경우에는 mmap() 함수를 이용
- 때때로, 너무 큰 세션 기반의 메모리 할당은 성능에 부정적인 영향을 미침
- CREATE TABLE huge_table (...) ENGINE=MyISAM; - SELECT * FROM huge_table LIMIT 1; - SET read_buffer_size = 256*1024; -- 256KB ==> 10,000번 실행에 0.68 초 소요 - SET read_buffer_size = 2048*1024; -- 2MB ==> 10,000번 실행에 18.81 초 소요
- 대 부분, MySQL의 세션 기반의 메모리는 필요 이상 할당하지 않지만,
특별한 경우(MyISAM 테이블의 FullScan후 LIMIT 실행과 같은)는 주의해야 함
==> 이 내용은 웹 사이트에 돌아다니는 자료(Yoshinori Matsunobu 작성) 번역한 것임
|
댓글 없음:
댓글 쓰기