select
name,
count(distinct ip) visitcount
from member
group by name
위와 같은 query에서 group by와 distinct가 동시에 일어난다.
이렇게 썼을 때 32초 걸리던 query가 27초 걸리도록 줄일 수 있었다.
(DB에서 1초를 넘어 섰다는 건 이미 문제가 있는 거지만 통계 페이지라 일단 통과)
select
name,
count(*) visitcount
from (
select distinct
name,
ip
from member
) a
group by name
distinct를 먼저 한 후에 group by를 했을 때 약간 더 빨랐다.
15~6% 정도...
mssql에서 index 다 태운 상황이었다. (최소한 분석기에서 index 없다는 얘기는 없을 정도)
'쓸만한 주저리' 카테고리의 다른 글
table 구조에서 열(column) 단위로 숨기기 (0) | 2011.05.20 |
---|---|
[asp] utf-8에서 urldecode 하기 (0) | 2010.11.29 |
외부 Server의 XML 가져오기(PHP -> ASP) (0) | 2010.11.05 |
윈도우7 설치후 업데이트가 안될 때 - v3lite 문제 (0) | 2010.10.06 |
Google의 HTML5 Presentation (0) | 2010.06.30 |