1

インタビューで、300000000 個のデータと 300 個のフィールドを持つテーブルがあるかどうか尋ねられました。そのテーブルでデータを検索すると、パフォーマンスが低下します。テーブルと検索データを最適化するために、あなたが従うのが好きな手順は何ですか。

検索句でよく使用されるフィールドに多くのインデックスを配置すると言いました。しかし、この質問をした人は、この状況を処理するための多くの解決策を持っている例外でした.

ここでは、多くの経験者がこのフォーラムを行き来しています。そのため、この状況を処理する多くの方法を期待しています。そのため、従う必要があるすべての可能な対策を詳細に案内してください。ありがとう

4

2 に答える 2

3

一見すると、次のようになります。

  • データの分割
  • 古いデータのアーカイブ
  • テーブルを関連するテーブルに分割する
  • ハードウェアの改善
  • パフォーマンスが向上するようにクエリを書き直す
  • 全文検索の使用
  • そしてもちろん索引付け。

もちろん、パフォーマンスチューニングには他にも多くの方法があります。そして、それらの多くは特定の状況に固有のものです。これは非常に分厚い本に書かれていることであり、インターネット上で真に答えられるものではありません。

于 2013-06-20T13:26:09.607 に答える
2

1 つのテーブルに 300 列というのはかなり多いように思えます。おそらく、データをいくつかのテーブルに正規化する必要があります。注意してください - 特に大規模な SQL 結合が原因で、正規化自体がパフォーマンスの問題を引き起こす可能性があるため、完全な正規化が常に最適なソリューションであるとは限りません。

最後に、考えられる解決策が 1 つまたは 2 つ見つかったら、面接担当者に電話して調査結果を伝え、見逃した別の解決策がないか尋ねます。

于 2013-06-20T13:26:02.703 に答える