2010-09-19 77 views
0

我正在接管另一位程序员的CMS设计。由于该网站已满,我们在mysql查询中发现导致长时间挂起的循环。我已经找到了这个解决方案的临时解决方案,但是我想知道是否有更快捷的方法呢?根据字段值抓取mysql结果

拿表(轨道资源):

id resource click 
1 res_1 192 
2 res_2  12 
3 res_3 300 

我们需要得到的是资源的普及 - res_click/total_click 他有什么是while循环:

while ($item = mysql_fetch_array ($result)) $total_clicks = $total_clicks + $item[0]; 

由于页面上可能有100个或更多资源,因此每个资源都在运行,并导致严重挂起。

我的解决办法是让一个总和:

SELECT SUM(click) FROM uri 
SELECT click FROM resource WHERE id=$x 

然后将其划分两者。 但这两个调用仍在运行,每页大约100个项目。有没有一种方法,我可以在MySQL中有一个字段,这是基于另一个公式的结果,如在Excel中?所以我可以添加一个字段“百分比”,告诉mysql它是点击量除以当前点击值的总和,那么每次点击更新时,“百分比”字段会自动更新?

任何帮助,将不胜感激, 欢呼;)

回答

0

你可以创建你的表view对提出和你想