我需要知道根据每种产品计算视图行数的最快方法。我试图通过在两个表之间联接来运行查询。一个“ 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表。
我需要在表格中添加一列查看者。但是加载需要很长时间。我要么试图计算一个单独的查询,但没有运气。请大家提出一种更出色的方法。
问候,
最佳答案
听起来您的查询很慢,而不是计数。您可以尝试两件事:
确保product_id字段上具有索引。
如果product_id是数字字段,请删除其周围的单引号。换句话说,将此where product_id='$pid'
更改为此where product_id=$pid
。 MySQL可能会在product_id字段上进行转换,以将其转换为字符串以进行比较,并忽略索引(如果存在)。
关于mysql - 在MySQL中计算行总数的最快方法是什么,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17092856/