0

query100,000 を超えるレコードを取得するを実行し、結合を使用してレコードを取得しました。
このクエリが実行されている間、サーバー全体が非常に遅くなり、これはレコードを取得するために通常のクエリを実行しようとする他のサイトに影響を与えます。
この場合、その数のレコードを取得するために実行されるクエリと、同時に実行される他のクエリは別のデータベースです。

4

1 に答える 1

0

何十万ものレコードを取得するクエリは、おそらく重大な IO を引き起こし、バッファ プールを破棄します。これには、次の 2 つの方向から対処する必要があります。

  • 要件を確認してください。何十万ものレコードを取得するのはなぜですか? 確かに、人間はそれほど多くを見ることはできません。サーバー上で実行されるように分析をプッシュし、集計結果のみを取得する必要があります
  • 何十万ものレコードを頻繁に分析する必要があるのはなぜですか? おそらく、必要な集計/合計を毎日抽出する ETL パイプラインが必要です。
  • おそらく、クエリは何十万ものレコードを分析する必要があり、インデックスが不足している可能性があります
  • 上記のすべてが当てはまらない場合は、より大きなボートが必要であることを意味します。現在のハードウェアでは要件を処理できません。
于 2013-02-14T07:55:53.403 に答える