私は1億1600万行の巨大なテーブルを持っています。テーブル構造はentryid(varchar), dater(date), region(char), detail(varchar), views(int)
であり、最初の4つの列は主キーとして一緒になっています。私は、次のような処理をしたい:大規模データベーステーブルのグループ化と更新
detail
はgoogle
ためLIKE "%.google.%"
を使用して、例えば、同じドメインからのグループにそれらの行を私が欲しいなどwww.google.com
、www.google.ca
、www.google.uk
、www.facebook.com
、facebook.com
、などのURLを含んでいますfacebook
の場合はLIKE "%.facebook.%" OR LIKE "facebook.%"
で十分です。しかし、行を更新する場合は、views
を合計するためにON DUPLICATE KEY UPDATE
を使用する方法重複するキーがあるかもしれませんか?そして、LIKE
以外の速い方法がありますか?region
列を削除して行をグループ化し、views
を合計して新しい表に挿入したいとします。 1つのコマンドでそれを行うには?行をグループ化して(月間に
views
を更新したい)、
既存のディテール表に基づいて集計表を作成する必要があるようですね。既に試したSQLがありますか? –
この表のパーティションも考慮してください。 –