Php 在MySQL中,计算印象的最有效方法是什么

Php 在MySQL中,计算印象的最有效方法是什么,php,mysql,Php,Mysql,我将在每页显示一个行数组,每当一行出现在页面上时,我希望它在其行印象计数中添加1个“命中”。但似乎有一种更好的方法,比在echo上为每个列表执行一个完整的mysql_查询函数更好。有没有办法在检索时向查询中的所有行添加1?从初始select命令获取所有唯一id,然后从PHP将它们存储在逗号分隔的字符串中,并使用mysql的in函数。比如: UPDATE your_table SET impression_count = impression_count + 1 WHERE unique_i

我将在每页显示一个行数组,每当一行出现在页面上时,我希望它在其行印象计数中添加1个“命中”。但似乎有一种更好的方法,比在echo上为每个列表执行一个完整的mysql_查询函数更好。有没有办法在检索时向查询中的所有行添加1?

从初始select命令获取所有唯一id,然后从PHP将它们存储在逗号分隔的字符串中,并使用mysql的in函数。比如:

   UPDATE your_table SET impression_count = impression_count + 1 WHERE unique_id IN (yourlistofIDs)

只需一个查询即可更新所有行。

我们混合使用db+缓存。这使我们能够快速显示数据并保持其持久性。我们在一个表中插入一条记录,该表中的所有项都具有唯一的视图,然后在memcache中为该特定行增加一个计数器

后台进程(可能是)每分钟处理一次这些行,同时增加该行中的视图,以便在持久数据和memcache之间存在偏移的情况下使用新的总计更新缓存

我们得到了什么

  • 速度:在视图表中插入并忽略。增加缓存以快速显示视图
  • 持久性:当后台进程运行时,它从数据库中获取数据,并更新数据库*和*缓存,使数据始终保持一致

我也是这么想的。所以没有办法通过相同的select查询进行更新?