CnUnix

[알림판목록 I] [알림판목록 II] [글목록][이 전][다 음]
[ CnUnix ] in KIDS
글 쓴 이(By): ahsarang (..........)
날 짜 (Date): 2003년 4월 10일 목요일 오후 03시 11분 59초
제 목(Title): Re: [Q] mysql에서 count(*)속도!



가짜집시님:
> 테이블에 레코드가 몇개나 되시길래..

  어저께까지만 해도 삼백만건이었는데 이제 오백만건이네용. -.-;;
  앞으로는 이렇게 급작스럽게 증가하진 않을겁니다. ㅎㅎ
  꾸준히 초당 몇 건정도... 증가할겁니다. update도 빈법합니다. 냠냠...

가짜집시님:
> slave가 master가 되었을 때 application 레벨에서
> DB 서버를 master에서 slave로 바꿔주는게 더 골치아프지 않나요?

  connection만 바꿔주면 되는데 그리 골치아플거 같진 않은데요.
  smart하게 하려면 좀 더 짱구를 돌릴 필요는 있겠지만...
    1. master error!
    2. 살아있는 아무 넘이나 니 마스터가 누구냐?(몰라? 다시, 알아? 다음)
    3. master connection 변경!
    4. 정상 가동

  master 장애 상황에서 운용자가 app의 설정만 바꿔서 restart하게만 해도...
  현재도 수동으로 runtime에 master<->slave간 전환은 별로 어렵지 않습니다.

가짜집시님:
> innodb의 table optimization, 아직도 MyISAM 으로 함 바꿨다가
> 도로 가져오는 방식으로 해야 하나요?

  네. -.-;;

가짜집시님:
> 여전히 hot-copy도 innodb는 유료 입니까?

  모름. 근데 hot-copy라... 걍 db file 복사하면 안될까요? -.-

가짜집시님:
> indexed unique key 에 대고 count(i_u_k) 하는 건
> 전혀 속도상 차이가 없는 건가요?
짜랑님:
> index key 잡아서 count(*)하는게 확실히 빠르다고 하던데

  네. 제가 해본바로는... 먼가 다른게 또 있나... -.-
  냠냠... 어케해도 두번째 count(*)는 빨라집니다. 당연한 일이지만. 쩝쩝...

짜랑님:
> one-way도 몇가지 안되는 명령어가 있었던거 같은데... 가령 random같은 것들은
> 아직도 복제 안되지 않나요?  auto_increment는 해결된거 같은데...

  지금 잘 기억은 나지 않지만, 일반적으로는 별 상관 없는 제한이었습니다.
  file집어 넣는것은 지금은 지원하고... random같은거야 머... 쩝
  논리적으론 random도 복제되는게 더 문제가 아닐까용? -.-

짜랑님:
> 그냥 백업만 하는용도로 쓰는 거니까...
> 물론 select에 read operation을 몰아줘서 로드를 분산할 수는 있죠.

  일반적으로(최소한 제 환경에서는) insert/update보다 select로인한
  DB로드가 월등이 많은 것 같습니다.(경험상...)
  고로 select만 분산하는 걸로도 상당한 DB성능향상이 있을 것으로 생각됩니다.
  이 점이 replication을 단순 backup이상의 의미를 갖게한다고 생각합니다.
  전 오히려 replication에서 backup을 덤으로 생각합니다. :)
  insert/update가 주인 DB라면 replication은 backup용 일듯~

짜랑님:
> locking이 없기 때문에 궁극적인 two-way replication은 불가능합니다.

  two-way도 언젠간 깔쌈하게 가능할 때가 오겠지만.
  locking때문에 생기는 two-way의 제한은 그리 치명적이진 않을 것 같습니다.
  제가 생각하는 것이 짜랑님의 그 문제일진 몰겠지만...
  일테면, 두 DB에 동시 insert가 발생할 경우 생성되는 unique key가 쫑나서
  생기는 문제등이 대표적인게 아닐까요?  이걸 피하기 위해 DB간 lock을
  쓰는건 더 큰 비효율을 낳을 것으로 생각됩니다.
  차라리 app에서 unique key를 생성해서 넣어주는것이 더 좋을 듯합니다.
  암튼 저도 circular는 아직 자신이 없어 피하긴 했습니다. :)
  (님이 말씀하시는 two-way, circular는 같은의미가 아닐지... )

...
  fast count(*), nested query, view, stored procedure등등...
  아직 남은게 많죠.  앗. nested query는 4.1에서 된다고 하는 듯.
  5.0쯤이면 그런데로 오라클 안부러울 듯~ :)

감사!~






[알림판목록 I] [알림판목록 II] [글 목록][이 전][다 음]
키 즈 는 열 린 사 람 들 의 모 임 입 니 다.