0
私はロールアップテーブルを作成しています。サイズのために、2002年から2017年まで毎年実行する必要があります。これは問合せやストアドプロシージャとして実行できますが、問題はありません。mysqlクエリのwhere値をインクリメントする
年を変更する各クエリを循環させる方法があることは知っています。
何か助けていただければ幸いです。
insert into rollup_rb_period_earnings(account_name,song_title,deal_id,period,total_amount)
select account_name, song_title,deal_id,period_year_quarter,SUM(royalty_amount)
FROM royalty_stream
WHERE period_year = 2002
GROUP BY account_name, song_title,deal_id,period_year_quarter;
をいいえ、私は、それぞれが別のクエリする必要があります。テーブルが大きすぎて1つのクエリしか実行できないため、別のステートメントに分割する必要があります。 –
@SeanPeace 。 。それは私にはばかげて聞こえる。テーブルの大きさはどれくらいですか? –
私は、このような単純なwhere節で試していないと失敗したかどうか尋ねていません。 royalty_streamテーブルは75Gで、193,885,384行あります。サーバーには20Gのメモリーがあります。 1つのクエリが失敗したため、クエリを手動でチャンクに分割する必要がありました。ロールアップテーブルは単独で4.7Gです。 –