私はレポート アプリを構築しているので、膨大な量のデータを処理しています。アジャイルな方法でアプリを作成するための私のアプローチの一部は、SQL ビューを使用して、複数のユーザーがすべてバッシングしている場合に DB の負担を軽減することです。
一例は次のとおりです。
mysql_query("CREATE VIEW view_silverpop_clicks_baby_$email AS SELECT view_email_baby_position.EmailAddress, view_email_baby_position.days, silverpop_campaign_emails.id, silverpop_actions.`Click Name` , silverpop_actions.`Mailing Id`
FROM silverpop_actions
INNER JOIN view_email_baby_position ON (silverpop_actions.Email = view_email_baby_position.EmailAddress ) , silverpop_campaign_emails
WHERE silverpop_campaign_emails.id = $email
AND view_email_baby_position.days
BETWEEN silverpop_campaign_emails.low
AND silverpop_campaign_emails.high
AND silverpop_actions.`Event Type` = 'Click Through'") or die(mysql_error());
その後、スクリプトの後半で、このビューを使用して、この電子メールの特定の種類のクリック数が計算されます。
$sql = "SELECT count(*) as count FROM `view_silverpop_clicks_baby_$email` WHERE `Click Name` LIKE '$countme%'";
私の質問は2つの部分に分かれています:
- ビューは常に良好ですか?多すぎてもいいですか?
- コードの 2 番目のスニペットで count 変数をキャッシュするために、さらに別のビューのセットを作成できますか。もしそうなら、どうすればこれにアプローチできますか?これはまだよくわかりません。
ありがとう!