0

我有一个基于竞争的应用程序,包括(比如说)10 种饼干(饼干)和 6 种饮料。我使用 MODx Revolution 2.2 作为 CMS。

参赛者基本上会指定他们想要哪种饮料并输入条形码(与饼干的类型有关)。

我想在 CMS 中将此作为统计数据呈现出来,但我想为每个COUNT().

$biscuit1 = $modx->query("SELECT COUNT(*) FROM my_table WHERE barcode = '1234'");
$biscuit1 = $modx->fetch(PDO::FETCH_ASSOC);
$biscuit1 = $biscuit1[0];

所以我的问题是:

  • 做 16 个数据库查询(可能更多)是不好的做法吗?
  • 如果有更好的方法来收集数据集的统计信息,那是什么?

注意:我曾想过创建另一个统计表,我会在其中每小时在一个 cron 作业中运行这些查询。这会有帮助吗?

4

1 回答 1

1

COUNT(*)并不是所有的资源密集型。如果barcode被索引也会有所帮助。您还可以在一个查询中获取所有条形码的数据,而不必运行 16 个查询,每个查询一个

$result = $modx->query("SELECT barcode,COUNT(*) FROM my_table GROUP by barcode");
于 2013-03-22T04:49:43.950 回答