db record의 갯수. 그리고 performance에 대한 생각

불당   
   조회 9484   추천 0    

그누보드에서 가장 record 갯수가 많은 테이블이 g4_point 입니다.
 
모든 그누보드의 활동(읽기, 쓰기, 코멘트 등등)에 포인트를 남겨야 하기 때문에
그누보드의 g4_point 테이블은 페이지뷰가 생기는 만큼 꾸준히 쌓이게 됩니다.
 
건수로는 금방 최대가 되지만, 용량으로는 g4_point 보다 더 큰 테이블도 많은데
왜 g4_point 테이블이 중요할까요?
 
g4_point 테이블의 회원 포인트를 sum 하는 기능 등을 하려면, 엄청난 갯수의
index를 타고 가서 정보를 가져와야 하는데, 이게 disk 기반의 db 시스템인
mysql에 상당한 수준의 부담을 주게 됩니다.
 
그래서, 실제로는 sum(po_point) from g4_point where mb_id = 'test' sql 에서
slow query가 생기지는 않지만 이 sql 문장이 mysql slow query를 유발하게 되죠.
 
시스템에서 slow query가 걸리게 되면,
mysql이나 시스템의 튜닝도 중요하지만,
g4_point 테이블의 record 갯수를 보고, 과하다 생각되면 정리를 해주셔야 합니다.
 
mysql slow query의 원인이 꼭 sql 문장의 부적합성에만 있는 것은 아닙니다.
숨겨진 sql로 인해서 생길 수도 있습니다.
 
---
 
이겨서 raid나 sas, sdd 같은 hdd의 중요성이 나옵니다.
 
raid 1의 경우 쓰기 속도는 같지만, 읽기가 빠르기 때문에,
mysql의 대용량 파일 sql query performance에 지대한 영향을 주게 됩니다.
 
mysql db가 있는 시스템의 hdd는 최대한 강력하게 하는게 좋습니다.
CPU를 2개, 3개 다는 것보다 빵빵한 HDD 시스템 1개의 영향이 더 커요.
- opencode.co.kr -


제목Page 2/4
2010-11   11900   불당
2010-10   9485   불당
2010-10   9166   불당
2010-06   9649   불당
2010-06   14373   불당
2010-04   8112   불당
2010-04   7499   불당
2010-04   15505   불당
2009-12   7660   불당
2009-12   11172   불당
2009-11   7871   불당
2009-11   6804   불당
2009-08   8575   불당
2009-08   6847   불당
2009-08   7031   불당
2009-08   7669   불당
2009-08   7815   불당
2009-07   7721   불당
2009-06   6220   불당
2009-04   6766   불당