2017-01-20 12 views
0

独学で、中小企業のDIYerはこちらです。 MS SQL Serverを実行しています'14。MS SQL Server:クエリの実行速度が遅いのはなぜですか?

私は今このクエリを月に4回、ほぼ2年間実行しています。しかし、過去2ヶ月間、クエリの実行時間は長くなりました。 2〜3分で実行するには24時間以上かかります。

毎週ファイルを毎月の表にインポートしてから、その表を前の2か月の表と重複させてエクスポートするための一意のファイルを取得します。データ・タイプ、索引、および許容可能なヌルのように、表のボリュームは一貫していました。

コンピューティングパワーではありません。私は今年の1月のファイルを昨年1月のファイルに置き換え、クエリは数分で実行されます。これもまた、2016年12月のファイルから始まりました。以前のファイルは非常に迅速に実行されます。

アイデア?前もって感謝します!

問合せ:

SELECT [2017_JAN].* 
FROM [dbo].[2017_JAN] 
    LEFT JOIN [dbo].[2016_NOV] 
    ON [2016_NOV].[ID] = [2017_JAN].[ID] 
    LEFT JOIN [dbo].[2016_DEC] 
    ON [2016_DEC].[ID] = [2017_JAN].[ID] 
WHERE [2016_NOV].[ID] IS NULL 
    and [2016_DEC].[ID] IS NULL 
+1

すべてのテーブルが同じスキーマを持っているようですが、なぜyear_monthごとにテーブルを使用していますか? – McNets

+0

テーブルサイズについて...ログファイルサイズ...インデックスを再構築する必要があるかもしれません...すべてのチェックリストを行う必要があります – NicoRiff

+0

dbccチェックテーブルを実行して、テーブルに壊れたデータがあるかどうかを確認できます – NicoRiff

答えて

0

としては、あなたの関連するテーブルのインデックスを再構築しても問題が解決し、言いました。 この場合、DBCC CHECKTABLEを実行してテーブルの正常性を保証することもできます。

関連する問題