0
特定の結果の行数を格納する別のテーブル(PKなし、1行のみ)があります。さて、このカウントは、この(単なる例)のように、クエリで使用されていますWhere-clause内のサブ選択は、複数回実行されるか、1回だけ実行されますか?
SELECT * FROM `car`
WHERE `car`.`featured` = 1
AND (SELECT `count` FROM `carfeaturedcounter`) > 5;
はSELECT count FROM carfeaturedcounter
複数回(一回ごとの行のための)を実行し、または一度だけクエリごとにされますか?
一度だけ実行されます。副問合せは効率的ではありませんが、非効率的ではありません。 – StormoPL
@StormoPLええと、超効率的ではないと思っていましたが、毎回COUNT()を使用するよりも効率的であることを願っています。特に後でたくさんのエントリがあるときに役に立ちます:) – Katai
DB構造この種の主題には、car_featuresをcar、GROUP BY car_idとCOUNT car_featuresに参加させている間は、HAVINGオプションを使用することになります。カウンターのためだけに別のテーブルを持っているのはちょっと違う。 – StormoPL