0

さまざまなテーブルに表示される 15 万件を超える電子メールの情報を取得しようとしています。

私のクエリは次のようになります。

   ;with emails as (
       select distinct m.email, m.id
       from databasename.list as m
       where m.email in 
            (
            list of 150k emails
             )

次に、基本的な select ステートメントを使用して、必要なすべての情報を収集します。

select m.email
    ,m.id
    ,poe.order_time
    ,poe.order_id
    ,poi.price
from emails as m
left join database.purchase_order_entry as poe
on m.id=poe.member_id
left join database.purchase_order_item as poi
on poe.order_id=poi.order_id
where 1=1
    and poe.order_time > '2018-11-02'

次のエラー メッセージが表示されます。

クエリ プロセッサが内部リソースを使い果たし、クエリ プランを生成できませんでした。これはまれなイベントであり、非常に複雑なクエリ、または非常に多数のテーブルまたはパーティションを参照するクエリでのみ予想されます。クエリを簡略化してください。このメッセージを誤って受け取ったと思われる場合は、詳細についてカスタマー サポート サービスにお問い合わせください。

リストを切り捨てることができない場合、どうすればこれを回避できますか。

4

1 に答える 1

1

これだけの文字数は処理できません。csv ファイルを作成し、 BULK INSERTでインポートする必要があります。永続テーブルを使用する必要はありません。一時テーブルを使用できます。

于 2018-12-11T21:54:56.120 に答える