クエリの実行中にデータベースサーバー上の空きディスク領域が不足しているために失敗した従来のsqlクエリを最適化する必要があります(一時テーブルと出口に20ギガエラーあり)。フィールドの値に応じたデータの集約
クエリは、照会されたテーブルのフィールドの値に応じて異なるエイリアスにデータを集約するため、少し複雑です。主なアイデアは、オプションのグループでテーブルをクエリし、その結果のテーブルのエイリアスカラムの値を作ることです。
スキーマとクエリのサンプルは、http://sqlfiddle.com/#!9/64e86/2/0です。実際のクエリには、IN
句に10-12 opt_typesのようなものがあります。
問題は、両方のテーブルでそれぞれ2.5kk行と18.5kk行に似ているということです。
このデータ量が少ない(70kと750k)場合、このクエリは完璧かつ短時間で実行されます。
大量のデータでこのクエリを実行するにはどうすればよいでしょうか? データベースはMySQL 5.6です。照会はネイティブのmysql < query_file.sql
コマンドを使用してbashスクリプトによってサーバーに入力されます。ヌルを除いて、彼らは」 -
PS静かは率直に言って、私は
「2.5kk」とは何ですか?何百万? –
また、質問にもすべてを載せてください。リンクが壊れます。特にSQLFiddle。 –