私は SQL が苦手なので、クエリの作成について皆さんに助けを求めました。
SQL クエリ - テーブル結合
の問題 答えが得られ、うまくいきました! ただ著しく遅いです。私はそれをするのが嫌いですが、誰かがクエリを最適化するいくつかの方法を推奨したいと思っていることを本当に望んでいます. グーグルを始めるほどSQLについて十分に知らないので、私は自分でこれを試みたことさえありません。
質問する
137 次
2 に答える
2
役立つかもしれないのは、結合している列にインデックスを作成することです。例えば;
CREATE INDEX name_for_index ON Main (StatusID);
クエリを実行するアルゴリズムが使用するこの列のルックアップ テーブルを生成します。
編集: データベースの変更が許可されていない場合は、うまくいかない可能性があります。JOIN ステートメントを緩和することでパフォーマンスが向上したケースを見てきました。
...
FROM
Main m, Status st, Secondary s
WHERE
st.ID = m.StatusID
AND s.MainID = m.ID
AND
( s.MainID IS NULL AND m.WhenDate = <YourDate>
OR
s.MainID IS NOT NULL AND s.WhenDate = <YourDate> )
AND TypeId = <TypeFilter>
AND ... other filters, if you need any ...
そして、INNER JOIN
もう少し詳細が必要な他のケースを処理します。
于 2013-07-04T20:03:48.583 に答える