database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 27669 게시물 읽기
No. 27669
이런경우는 어떻게 해야 합니까?
작성자
debbie
작성일
2008-07-10 17:23
조회수
4,319

매일 A table에는 사용자 10명에 대한 로그 데이터의 수가 하루에 3000개 정도된다고 가정해서요


이 데이터를 시간별, 월별 통계, 그리고 각 사용자별 월별 통계를 내야 합니다.

시간별, 월별 통계는 select 쿼리를 사용해서 하면 될거 같은데요.

각 사용자별 월별 통계는 각 달별로 select하는 쿼리를 필요로 하는 달 수 만큼 루프돌아서  

구해야 하는가요?

만약 각 사용자별 1월~5월 사이의 월별 누적데이터가 필요한 경우에,

쿼리문은 5번 사용해서 데이터를 구해야 하는지요..

A table에 많은 데이터가 계속 쌓이는 상황에서 쿼리를 여러번 하면 속도가 느려지지 않을까

걱정도 됩니다.


그리고 월별통계를 내기 위해서 새로운 테이블을 만들어서 하루중 일정시간에 

월별값을 업데이트하는 방법도 생각해밨는데요.

이런방법도 괜찮은건지요?


저와 같은 경우 어떻게 처리를 해야 하는지 방향을 모르겠습니다.

쿼리에 대해서도 간단한 거 밖에 몰라서 더 이렇게 헤매는지도..

답변 많이 해주세요.

이 글에 대한 댓글이 총 1건 있습니다.

하루에 3000개 정도의 레코드수라면 뭐 많은량은 아닙니다만....서버(MySQL이나 하드웨어)의 상태에 따라서 달라지니..


여튼 통계용 쿼리들은 대체로 서버의 자원을 많이 잡아묵으며 시간도 오래걸리고 이래저래 골치아프죠..또한 락킹 문제도 있고...


복제시스템을 이용해서 데이터의 인서트 와 뷰를 분리 하는 방법도 있을것이고요...복제시스템을 도입할 여건이 안된다면은...


년간이면 년간 월간이면 월간 데이터를 따로 뽑아서 다른 테이블로 분리하여 통계를 내는것도 괜찮을것입니다.


MyISAM 타입이라면 아예 머지테이블을 구성하는것도...


MySQL에서 제공하는 View 테이블은...흠...어떻게 돌아가는건지 자세히 파악해보지 못했지만 그다지 실효성은 보이지 않는듯 한데...머지테이블 이나 개별적으로 테이블을 구성하여 view 를 사용하는것도 괜찮을듯 합니다.


team b(teamb)님이 2008-07-15 18:48에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
27672맛이 간 하드에서 db 정보 복사하기 [1]
man
2008-07-13
3360
27671isam 테이블 타입을 myisam 테이블 타입으로 변환하기? [1]
장정훈
2008-07-12
3282
27670replace 함수 문의합니다...
김선미
2008-07-11
4415
27669이런경우는 어떻게 해야 합니까? [1]
debbie
2008-07-10
4319
27667에러가 나는데 원인을 모르겟습니다... ;; [1]
초보
2008-07-09
3563
27666mysql 에러메세지 검토 부탁드립니다.. [1]
손관현
2008-07-09
3909
27665SQL SELECT문 질문드립니다. [1]
박세진
2008-07-09
4524
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다