0

我需要知道根据每个产品计算视图行数的最快方法是什么。我试图通过在两个表之间加入查询来运行查询。一个“ product_db ”和“ product_views ”。但是完成查询大约需要一分钟。

这是我的代码:

select *,
count(product_views.vwr_id) as product_viewer,
from product_db 
inner join product_viewer on product_db.id=product_views.vwr_cid
where product_id='$pid' order by id desc

其中“ $pid ”是产品 ID。

这是我的 product_views 表。

在此处输入图像描述

我需要在我的表中包含一列查看器。但是加载需要很长时间。我要么试图计算一个单独的查询,但没有运气。请你提出一个更聪明的方法。

问候,

4

1 回答 1

0

听起来您的查询很慢,而不是计数。您可以尝试两件事:

  1. 确保 product_id 字段上有一个索引。
  2. 如果 product_id 是数字字段,请删除它周围的单引号。换句话说,将 this 更改where product_id='$pid'为 this where product_id=$pid。MySQL 可能正在对 product_id 字段进行转换,以将其转换为字符串以进行比较,并忽略索引(如果确实存在)。
于 2013-06-13T17:39:37.747 回答