0

競争に基づいたアプリがあり、10種類のビスケット(クッキー)と6種類の飲み物が含まれています。CMSとしてMODxRevolution2.2を使用しています。

応募者は基本的に、好きな飲み物の種類を指定し、バーコード(ビスケットの種類に関連する)を入力します。

これを統計としてCMS内に表示したいのですが、データベースにそれぞれのクエリを実行するのは非常にリソースを消費すると思いますCOUNT()

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

だから私の質問は:

  • 16のデータベースクエリ(おそらくそれ以上)を行うのは悪い習慣ですか?
  • データセットに関する統計を収集するためのより良い方法がある場合、それは何ですか?

注:別の統計テーブルを作成することを考えました。このテーブルでは、これらのクエリを1時間にcronジョブで実行します。これは役に立ちますか?

4

1 に答える 1

1

COUNT(*)それほどリソースを消費するわけではありません。barcodeまた、インデックス化されている場合にも役立ちます。また、1 回のクエリですべてのバーコードのデータを取得することができ、16 回のクエリを実行する必要はありません。

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