2012-04-04 7 views
1

最近、私は私のプロファイラ(JetProfiler)とstresstester(loadUI)でいくつかのテストを実行している私のmysqlサーバで多くの問題を抱えていました。私は、少なくとも20の接続をloudUIと同時に実行した後に、すでにそれが接続できないか、またはWebページに本当に遅く接続していないことに気付きました。 Jetprofilerは、私たちが実行するすべてのクエリは、テーブルスキャン全体を使用しているため、実際に問題が起きる可能性があると考えています。ここで完全なテーブルスキャンの簡単なクエリを防ぐ

は、おそらく最も実行しますクエリのスクリーンショットです:

enter image description here

どのように私はこれを改善するのでしょうか?データム、webid、およびactief:

+2

'datum' /' webid'カラムにインデックスを使用していることを確認してください。 – Minras

+0

ルートサーバーですか?または通常のウェブスペースですか?そして、私はServerFaultの方が良いと思います。 – Stony

+0

その専用サーバでは、サーバはmysqlデータベースを何も実行しません – Holapress

答えて

1

ただ、次の列のための単一のインデックスを作成

create index idx_datum on nieuws(datum); 
create index idx_webid on nieuws(webid); 
create index idx_actief on nieuws(actief); 

これは、このクエリのパフォーマンスが向上し得なければなりません。

+1

'actief'のインデックスは無意味ですが、他の2つは問題ありません。 –

+0

@ N.B。どうして? 'actief'はwhere節の中で使われます。 –

+1

@Salman A - インデックスのカーディナリティは低いですか? –

関連する問題