問題タブ [sql-tuning]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
74 参照

sql - ユーザー定義関数を SELECT 句に置き換える方法は?

実行に 2 分以上かかるクエリのパフォーマンスの問題があります。現在、メイン テーブル f_trans には 300 万のレコードがあります。

where句と結合条件で列にインデックスを付けました。

クエリ:

関数:

関数をselect句に再編成するのに役立ちますか?

0 投票する
2 に答える
8174 参照

sql - 多くの左外部結合と重いテーブルを使用した SQL クエリのチューニング/書き換え

サイズが非常に大きい4〜5つのテーブルがあり、以下のクエリを使用して外部結合されたままになっています。パフォーマンスを改善できるように書き直す方法はありますか?

レコード数は次のとおりです。

  • t1: 6434323
  • t2: 6934562
  • t3: 9141420
  • t4: 11515192
  • t5: 3797768

結合に使用されるほとんどの列にインデックスがあります。説明計画で最も消費される部分はt4、最終的に発生する外部結合です。これを書き直してパフォーマンスを向上させる方法があるかどうか知りたかっただけです。

0 投票する
1 に答える
444 参照

oracle11g - NOT EXIST 句を持つ Oracle SQL のチューニング

クエリの下で指定された NOT EXIST 句を削除するように調整したいと思います。助けてください。

GLT_temp_upload は一時テーブルであり、DA_DUEDATE は巨大なデータを含むパーティション テーブルです。

助けてください

0 投票する
0 に答える
100 参照

sql - REF CURSOR を返す SQL クエリのチューニング

関数で参照カーソルを使用して値を返しています。この関数は、さまざまな入力値に対して再帰的に呼び出されています。

私のパッケージ定義は次のとおりです。

私の機能は以下の通りです。

カーソルの選択ステートメントに並列ヒントを使用しないと、クエリのパフォーマンスが非常に低下し、複数の再帰呼び出しの場合、データに応じてクエリに 8 時間から 24 時間かかります。

並列ヒントを使用すると、クエリのパフォーマンスが向上し、実行が完了するまでに 1.30 時間かかります。ただし、250GBのTEMPSPACEが必要です。

このクエリを調整するための解決策を教えてください。

0 投票する
1 に答える
114 参照

sql - クエリの削除 - パフォーマンスを改善するには

以下は私が書いたクエリです。パフォーマンスをさらに改善できるかどうかを知りたがっています。誰か助けてください。

0 投票する
2 に答える
8496 参照

sql-server - SQL Server 2012: tempdb のスピルを引き起こすソート演算子

ジョブを実行する T-SQL クエリ (SQL Server 2012) がありますが、実行計画を見ると、並べ替え演算子が表示され、次の警告が表示されます

私がこれまで行ってきた読書は、「order by」句を使用すると、このソート反復子を削除できることを示唆しています。サブクエリの並べ替えを実行できず、最も外側のクエリを並べ替えても並べ替え反復子が削除されないため、これは私にとってはオプションではありません。

以前の実行計画で推奨されていた非クラスター化インデックスを追加しました。

この「tempdb スピル」警告に対処するために他にできることはありますか? 現時点ではこれ以上のアイデアはありません。

アイデアをありがとう。

ここに画像の説明を入力

0 投票する
1 に答える
1036 参照

sql - DB2 クエリの問題 - Exists を使用する必要がありますか?

大量のデータを含む 2 つのテーブルがあります。

ACTION_SUMMARYACTION_DETAIL

すべてのユーザーはACTION_SUMMARY、私のデータベースに 1 日あたり 1 行ありACTION_DETAILACTION_SUMMARY.

いくつかの値セットにアクション タイプ ( ) を持つ詳細レコードが少なくとも 1 つあるユーザーを返すクエリが必要ACTYP_IDです。

以下に一例を示します。

AS.DATEにインデックスがあります。ただし、DB には 200 万人を超えるユーザーがいて、各サマリーには平均で 5 ~ 10 の詳細レコードがあるため、パフォーマンスの問題が発生しています。

私はEXISTSこの方法で使用することを考えていました:

ここで、2 つの質問があります。

1)私のクエリはEXISTSより高速です-サブクエリは何かを見つけて移動するとすぐに停止しますか?

2) クエリを改善するにはどうすればよいですか?

AS.DATEAS.AS_IDAD.AS_IDおよびにインデックスがありますAD.ACTYP_ID

ありがとう

0 投票する
3 に答える
72 参照

sql - 次のクエリを調整するにはどうすればよいですか?

このクエリは私に望ましい結果をもたらしますが、毎回このクエリを実行することはできません。 .so、この結果を保存したり、クエリを変更してコストを削減したりする他の方法はありますか?

画像1 画像2