2011-06-21 18 views
2

現在、10 000 000行の2つのテーブルでSQL内部結合のパフォーマンスが低下しています。 (約10-15分の応答)SQLタイムアウト - DBがインデックスに登録されていない

DBは索引付けされません。

私には唯一の解決策がインデックスに登録されていますか?

+2

bdとは何ですか? –

+0

大きな取引ですか?ベースデータ?境界線?ベストディール?どうか明らかにしてください! – UltraCommit

+1

@Sres:Base de Donnees、つまりフランス語のデータベースの略です。 –

答えて

0

これらはあなたに利用可能なオプション

    に参加していないためにあなたのクエリを変更し
  1. あります。これは、必要なデータが1つのテーブルである場合には簡単です。
  2. インデックスを正しいテーブルに追加します。
  3. 結合を必要としないようにスキーマを変更してください。これには、データ、階層データ、マテリアライズド・ビュー、またはその他の正規化プロセスを使用してデータを移動する必要があります。
3

あなたがインデックスされていないフィールドを照会している場合、テーブル全体にわたりテーブルスキャンを行うために起こっている(千万の行。)

あなたはなるだろうlike = '%blah%'をやっている場合遅くなる。

実際にクエリ(または類似のもの)を投稿した場合は、より多くの情報を提供できる場合があります。

+3

これは正しいことですが、重要な応答を出すためにクエリを確認する必要があります。 1アップ – UltraCommit

関連する問題