0

1,100 万レコードに急速に近づいている大きなテーブルを用意します。(表の 20 列)。

私の質問は、テーブル内の行数に関して考慮すべきパフォーマンスの問題はありますか?

乾杯

4

3 に答える 3

1

テーブル内のデータがどのように使用されるかによって異なります。多くの読み取り、多くの書き込みがありますか? データは保存され、更新されないかなど。

詳細情報がなければ、答えは「可能性が高い」です

于 2010-11-29T15:40:35.587 に答える
0

主キーとその使用方法によって異なります。ほとんどの場合、データは pk によってのみアクセスされ、pk が基本的な数値型 (整数) である場合、通常は高速になります。

ただし、where 条件を使用する場合は、調整する必要があるかもしれません。パフォーマンスの調整は、クエリの方法に基づいています。

これが私のヒントです

  • 等号演算子 (=) を使用すると、最高のパフォーマンスが得られます。
  • またはオペレーターのパフォーマンスが低下することがあります。2つのクエリに分けて結合すると、おそらく高速になります。

select * from tableA where a = 'aaa' union select * from tableA where a = 'bbb'

于 2010-11-29T16:55:18.917 に答える
0

他の人がコメントしているように、1,100 万レコードについて特に大きなことはなく、使用法はかなり重要ですが、おそらくもっと重要なのはテーブルの成長です。

成長が毎日最大 110K (または毎日 1%) の場合は、実行タイムアウト値を上げたり、クエリを作り直したり、ハードウェアのアップグレードなどの抜本的な対策を講じたりして問題に対処する必要が生じる前に、パフォーマンスを快適に監視できます。 SQL バージョンまたはデータベースのシャーディング。

ただし、毎日最大 110 万レコードのように大幅に成長している場合は、すぐに計画を開始する必要があります。

于 2010-11-29T17:16:36.647 に答える