You are here: Re: faster count(*) or alternative « MsSQL Server « IT news, forums, messages
Re: faster count(*) or alternative

Posted by Greg D. Moore \(Strider\) on 02/25/07 21:59

"C10B" <tswalton@gmail.com> wrote in message
news:1172439270.641426.83160@a75g2000cwd.googlegroups.com...
> hi,
>
> I have a table with several million rows.
> Each row is simply the date and time a certain page was viewed.

First question, do you have an index on the table.

That should help.

>
> eg
> page1 1-1-00
> page2 2-1-00
> page1 16-1-00
> page1 17-1-00
> page2 19-1-00
>
> I now need to find the most popular pages so I do this...
>
> SELECT TOP 10 COUNT(*) AS mycount FROM tblPageViews
> GROUP BY place ORDER BY COUNT(place) DESC
>
> ...which gives me the top 10 most viewed pages
>
> big problem - this is getting slower and slower as the table grows and
> grows.
>
> what should I do?
>
> is there an alternative?
>
> I think I need all the rows (rather than a simple incrementing
> counter) because I might want to say "what was the most popular page
> on a certain day or within a certain period"
>
> tia
>
> Tim
>



--
Greg Moore
SQL Server DBA Consulting
sql (at) greenms.com http://www.greenms.com

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация