| 
 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] 
 |