0

毎秒最低 10 の異なるソースからデータを受け取るテーブルがあります。

テーブルを月ごとに分割し、毎月テーブルを作成してデータをテーブルに入力します。各テーブルには、最低 100 万件のレコードが保持されます。

主キーとして 6 つのフィールドがあり、インデックス付きの 7 つのフィールドがあります。

MySQL の他の設定は変更していません (Ubuntu に付属するデフォルト)。

テーブルで実行されるクエリは 2 つだけです (挿入と選択)

。データベースが原因でアプリケーションが遅くなっていることがわかります。

クエリのパフォーマンスを向上させる方法はありますか。

4

2 に答える 2

0

まず、MySQL のパフォーマンスを扱う場合、どのエンジンを使用しているかを知る必要があります。

次に、考えられるパフォーマンスの問題を絞り込む必要があります。SELECT よりも INSERT アクセスに大きな問題があると思います。実際、SELECTクエリが遅くなっても、クエリ自体が複雑な場合、INSERTが頻繁に発生し、システムが崩壊する可能性があります(または、最終的にシステムの速度が低下し、SELECTの速度が低下します)結果として)。

したがって、INSERT を高速化するために、本当に必要なインデックス (通常は SELECT WHERE 句で使用される列) のみを保持することをお勧めします。これは、深刻な改善であることが証明されます。

SELECT 自体の最適化に関しては、クエリを確認しないと、それ以上の支援は困難です。

于 2013-02-15T16:11:35.840 に答える
0

インデックスの最適化ステートメントの最適化など、Explain plan を使用してクエリの最適化を試みることができます。これは、実行速度に大きな影響を与える可能性があります。

于 2013-01-30T05:30:13.873 に答える