gpt4 book ai didi

php - Mysql用户统计

转载 作者:行者123 更新时间:2023-11-29 06:07:01 24 4
gpt4 key购买 nike

快速方法说明:

我有两个表,我们将它们命名为表一和表二。每条表记录都有其作者(用户)的 id。每个用户的记录没有限制。

我想为每个用户运行一个统计页面。

例如,当 John 登录时:

约翰 | 20 A(列表)| B 150(列表)

演示代码

$a = mysql_query("SELECT * FROM A WHERE userID='$userID'");
$b = mysql_query("SELECT * FROM B WHERE userID='$userID'");

$a_num=mysql_num_rows($a);
$b_num=mysql_num_rows($b);

$echo "$userID | $a_num of A <a href='/a/$userID'>(list)</a> | $b_num of B <a href='/b/$userID'>(list)</a> ";

问题:

那么,当表记录数量达到数百甚至数千时,检查记录数量(每次用户访问其统计页面时)是否是最佳解决方案?有没有更好的统计方法?也许有一个单独的表来计算每个用户的记录?

谢谢:)

最佳答案

由于您似乎没有使用结果集本身,

$a = mysql_query("SELECT COUNT(*) FROM A WHERE userID='$userID'");

只需一步即可获得所需的计数。而且,它很可能比你正在做的要快得多。

其次,您正在考虑的那种优化绝对是可能的(您只需要一个 group by userID 即可,并且每小时或每天或其他时间运行该脚本,具体取决于所需的情况)准确性),但我真的会等待这类东西,直到你完全确定你需要它,因为这意味着服务器的额外工作和需要维护的额外代码。

第三个也是最后一个,摆脱不推荐使用的 mysql_query 调用,并查找准备好的语句。一旦你习惯了它们,就会更安全,也不会更困难。

关于php - Mysql用户统计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11071854/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com