2011-07-21 21 views
1

私の仕事の一部は、一部のリモートSQLサーバーのデータに対するQAです。私はデータを照会することしか許されません。膨大な量のデータから最新のデータを照会

毎日、すべてのテーブルの各列のデータを照会するためにSQLスクリプトを実行する必要があります。これらのテーブルは、毎日いくつかのプログラムによって収集されたデータを保持しています。私は最新の週にデータを照会する必要があります。膨大な量のデータとすべてのフィールドがインデックスされているわけではないので、私のクエリの一部は常にタイムアウトします。

誰も私を助ける良いアイデアはありますか?本当に感謝します。クエリの句が先週だけ およびuがアクセスするすべての列のインデックスのための

要求...

+0

限られた範囲のクエリの範囲外では、SQL Serverはリモートサーバーからすべてのデータを取得し、フィルタ(WHERE)をローカルに適用します。私はこれがどれだけ文書化されているかを覚えていない。 –

答えて

2

ユースA日時の降順。

+0

これはまさに私がやっていることです。インデックスを除いて...空の文字列の数や各列のNULL値のカウントなど、すべてのフィールドをクエリするように求められますが、フィールド? – Soony

+0

'where'句で使用しているフィールドのみにインデックスを追加する必要があります... それぞれのクエリを確認します。where句のすべてを取り出して、その上に非クラスタ化インデックスを作成します。 複数のテーブルに参加する場合、アクセスされる結合条件フィールドは、好ましくはクラスタ化されたインデックスが必要です。 – Mulki

+0

ありがとう!私はそれに対処するための良い方法はないと思う。クライアントのDBAにこれらのフィールドのインデックスを追加するよう依頼する予定です。 – Soony

0

使用限界と、その後ORDER BYのためのデータをフィルタリング

+0

助けてくれてありがとう。しかし、私は 'LIMIT'はSQLServer 2005では動作しないことを恐れています。 – Soony

関連する問題