問題タブ [sql-optimization]
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.
sql - 非常に遅いストアド プロシージャ
クエリの最適化に苦労しています。現在、データベースの再設計のポイントに非常に近づいています。そして、スタックオーバーフローは私の最後の希望です。クエリを表示するだけでは不十分だと思うので、手動でデータを生成したくない場合に備えて、データベース スクリプトだけでなく、添付のデータベース バックアップもリンクしました。
ここでは、スクリプトとバックアップの両方を見つけることができます
次のことをしようとすると問題が発生します...
この部分で主な問題が発生します。
EDIT:各テーブルの行数は次のとおりです。
sql - 過剰更新はどれほど悪いことですか?
私は次のクエリを持っています.CASE構造がどれほど悪いのか疑問に思っていました.DBエンジンは、E.EAOpIDがnullでない場合、E.EAOpIDにすでに含まれている値で上書きされます.
この更新を 2 つの更新に分割する方が安価かもしれません。
1
2
sql - IN句の最適化
Oracle 10g を使用しています。これが私のクエリです
ここでは、RefKey、Key、KeyStat のすべてにインデックスが付けられています。テーブルは、ここでは使用されていない別の列で分割されています。このクエリでは、現在アクティブなマスター キー (RefKey = Key then master の場合) (KeyStat = 1) を選択しています。SQLTools 1.21 RC3 を使用したこのクエリの実行プランを次に示します。
ID=3の「TABLE ACCESS FULL」が気になります。このクエリで使用されているすべての列にインデックスが付けられている場合、オラクルがフルテーブルスキャンを実行する理由.
これをどのように最適化できますか? 内部クエリにいくつかの値を入れると、はるかに速く返されます。
サブクエリが必要な理由を説明するには、少なくとも 1 つのアクティブなキーを持つバッチ全体を選択しています。Refkey は一意ではありません。例えば:
mysql - レポートの SQL クエリを最適化する
これは私が書いた SQL クエリです。正常に動作しますが、遅いです。
ご覧のとおり、はい、いいえ、その他、および一致する MobileNo ( D.MobileNo = S.mobile
) 販売の数をカウントします。
タイプ、ユーザー名、モバイル、MobileNO、CheckDate、およびソースにインデックスを追加しようとしましたが、パフォーマンスはあまり向上しませんでした。
sql-server-2005 - 別のテーブルに関するデータを要約するテーブルの作成 - 最適化の提案?
私たちの Wiki のページが特定のマクロを参照する回数をまとめた表を作ろうとしています。
次のような55k行の@currentpagesという一時テーブルを作成しました。
そして、次のような別のテーブル:
(上記を簡略化しました。実際には、Macro1、Macro2 などのように約 40 列あります) これらのさまざまなマクロへの (@currentpages 内の) 参照の数を取得しようとしています。
可能な SpaceKey 値ごとに行を作成し、すべての Macro"x" カウンターをゼロにして、@usage テーブルを初期化します。
次に、いくつかの UPDATE ステートメントの最初のステートメントを実行して、各マクロ参照を識別します。
これは正常に動作しているように見えますが、非常に長時間実行されます。私がやろうとしていることをより効率的に行う方法はありますか?
このデータベースは SQL Server 2005 上にあります。
どうもありがとう、ベッツィ
sql - SQLクエリが遅い、最適化する方法がわからない
したがって、インデックスのないデータベースを処理する必要があります(私の設計ではなく、それは私を苛立たせます)。戻るのに約3秒かかるクエリを実行していますが、もっと高速にする必要があります。
関連するテーブルと列は次のとおりです。
そして私の質問は:
DISTINCTの代わりにEXISTSを使用してみましたが、改善はありません。SQLの最適化についてできる限りのことを読みましたが、このクエリを妥当な時間(0.5秒未満であることが妥当)まで下げることができないようです。任意のアイデアをいただければ幸いです。
sql - 多対1の関係のためのSQLクエリの最適化
Parent_TableとChild_Tableと呼ぶ多対1の関係を持つ2つのテーブルがあります(つまり、親には0個以上の子がありますが、子には1つの親があります)。何らかの条件を満たす子供が少なくとも1人いる親の数を数える必要があります。どのクエリが最適ですか?
オプション1(これではないことは間違いありません)
オプション2
オプション3(私の推測では最速)
それともまったく別のものですか?各テーブルのサイズ、2つの条件の複雑さ、またはデータが並べ替えられているかどうかによって異なりますか?
編集:データベースはOracleです。
sql - このクエリでインデックスを使用する必要がありますか?
インデックスについて質問があります。
このテーブルにクエリを実行し、予約テーブルと結合しているため、顧客テーブルの CID のインデックスを使用しています。
スキーマ予約テーブル
お客様
クエリ
私の質問は、クエリを参照して CID にインデックスを追加するかどうかで、実際に違いがあるのでしょうか?
結合選択されたので追加しました。
このクエリを非構造化データ (インデックスなし) でテストしたところ、CPU の大幅な減少はありませんが、トレース ファイルのディスク列は 1800 から 337 に減少しました。
非構造化ディスクは 1800、インデックスは 337 でした。
インデックスによって、customer テーブルの高速フル スキャンが実行されます。
sql - tkprofから生成されたtracefileを理解する
やあみんな私はOracle10gでクエリ最適化を学んでいて、以下のファイルを理解するのに問題があります。誰かが以下のファイルを説明してくれませんか、私が実行したクエリのトレースファイルです。CPUと経過時間(クエリがデータベースからデータをフェッチするのにかかる時間)はわかっていますが、「ディスク」と「クエリ」についてはわかりません。