4

#temp1 と #temp の 2 つの一時テーブルがあります。どちらにもキー列と日付列があります。どちらも約25k行あります。そして、すべての行で一意のキーと日付に基づいてそれらを結合したままです。この結合が完了するまでに約 4 分かかります。それをスピードアップする方法または代替方法はありますか?

4

4 に答える 4

6

他のテーブルと同様に、一時テーブルにインデックスを作成できると思います。

于 2009-08-25T07:43:35.647 に答える
3

25kテーブルの結合に4数分かかる場合は、問題があります。

おそらくJOIN、デカルト結合(またはそれに近いもの)につながる間違った条件を設定すると、25k * 25k = 625Mレコードが返されます。

これは4確かにそれ以上ではないにしても数分かかることがありますが、私はそれがあなたが望んでいたものではなかったと思います。

おそらく、クエリにDISTINCT/GROUP BY句が含まれているため、クエリは正しい結果セットを返しますが、最適ではありません。

正確な理由を教えていただけるよう、質問を投稿していただけませんか。

于 2009-08-25T16:32:35.217 に答える
1

何をしているかによっては、おそらく一時テーブルを完全に回避し、セットベースのソリューションを使用できます (実行速度が大幅に向上し、スケーリングも向上します) が、クエリが何であるかを知らずに知ることは困難です。

于 2009-08-25T16:11:04.230 に答える
1

あなたのクエリ全体が見たいと思うかもしれないという疑いがあります。この特定のウサギの皮を剥ぐ別の方法があるかもしれません.

もう少し詳細を残していただけますか?

于 2009-08-25T07:51:07.033 に答える