指定された時間範囲内の最後のタイムスタンプを効率的に検索します。
P粉232409069
P粉232409069 2024-03-22 13:22:08
0
1
633

問題は仮想のオンライン ストアに関するものです。具体的な問題についてデータを単純化します。

2 つのテーブルがあるとします。1 つは各顧客の登録日を保持します

リーリー

、2 番目の方法では、顧客のすべてのオンライン訪問が保存されます

リーリー

各ユーザーについて、最も効率的な方法で、ユーザーが登録から 7 日以内にオンライン ストアに最後にアクセスした日を調べたいと考えています。 ユーザーが登録以来ストアを訪問していない場合は、登録から 7 日以内の最終訪問日として NULL を返す必要があります。

もちろん、顧客 ID で顧客を LEFT JOIN にアクセスし、アクセス日 登録日 と # の間でフィルタリングすることもできます。 ##7 を追加し、最後に各 customers最大日付を取得します。 ただし、最初の結合では巨大なテーブルが生成されるため、この計算コストのかかる操作は避けたいと考えています。

ご意見ありがとうございます!

P粉232409069
P粉232409069

全員に返信(1)
P粉514458863

これがおそらく最も効率的です:

リーリー ###索引:### リーリー

「計算量の多い操作」に関する懸念:

行を取得するコストは、式を評価するコストよりも高くなります。
  • インデックスへのアクセスについての私の推奨事項は、インデックスを「上書き」することで、インデックスのみを参照することです。
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート