問題タブ [query-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.
mysql - コンソールで同じクエリを実行すると2回時間がかかりますか?
私はクエリを実行しています -
初めて実行すると、1 分かかります。ただし、同じクエリを 1 秒以内に実行すると 3 分かかります。
なぜそれが起こっているのですか?
他のクエリでも同じ動作を見つけました。
必要に応じて詳細:
私のマシンには 4 GB RAM の
Mysql 5.5 バージョンがあります。
key_buffer_size = 350M。
このテーブルには、10 個のパーティションを持つ 1 億 4000 万のレコードがあります。
ありがとうございました。
sql-server - SQL Server : 異なる実行時間で複数回実行されている同じクエリ
私は非常に単純なクエリを持っています
508,000 行あります。上記のクエリを初めて実行すると、結果が返されるまでに約 53 秒かかります。クエリを再度実行すると、結果が返されるまで数ミリ秒かかります。
SQL Server がクエリ/結果をキャッシュしていると思いますか? クエリ/結果をキャッシュしないように SQL Server に指示したり、何らかの方法でキャッシュ/結果をクリアしたりすることは可能ですか?
私のアプリケーションでは、いくつかのパフォーマンス チューニングを行おうとしていますが、上記のような問題は役に立ちません。
sql - Oracle SQL クエリの実行が遅い
検索機能に使用される以下のOracle SQLクエリがあり、ストアドプロシージャにラップされています。
動作が非常に遅いです。
OPEN p_cursor for SELECT TableA.*、TB_S.someColumn、TB_S.SomeColumn ..
DB の専門家が上記のクエリを調整する方法を教えてくれませんか?
ありがとうございました。
sql - グループ化されていない列に最後に挿入された値を取得するには?
以下のクエリからより効率的かつエレガントな方法で MY_LATEST_INSERTED_NUMBER_BASING_ON_MY_DATE_COLUMN_FOR_ID_CONTEXT を取得するにはどうすればよいですか?
sql - タイムスタンプで group by を使用して、DB2 で遅いクエリを最適化する必要がある
要件:年および州ごとに作成された請求レコードの数。
データベース: DB2 9.5
以下は、詳細を取得するために使用されるクエリです。1 時間以上かかり、タイムアウトが発生します。
各テーブルのレコード数は以下の通りです。請求: 900万カバー: 100万顧客: 300万アドレス: 400万。
タイムスタンプ列が作成されます。
クエリに where 句がないため、クエリが遅くなりました。クエリを最適化する方法があれば教えてください。
sql - 年関数を使用するクエリのタイムスタンプ列にインデックスを作成する
900 万件のレコードを含むHISTORY
テーブルがあります。作成された年ごと、月ごとのレコードを見つける必要があります。クエリ番号 1 を使用していましたが、数回タイムアウトしました。
を追加することにしましwhere year(created)
た。今回は、クエリの実行に 30 分かかりました (はい、非常に時間がかかります)。
タイムスタンプ列にインデックスを追加することを計画してcreated
いましたが、その前に意見が必要です (このような巨大なテーブルのインデックス作成には時間がかかるため)。
created(timestamp)
年関数が列で使用されていることを考えると、列にインデックスを追加するとパフォーマンスが向上しますか?
sql - SQL クエリの実行に時間がかかりすぎる
このクエリに問題があります。実行には10時間かかります。
説明計画は次のように表示されます。
私はインデックスで試しました:
インデックス IDX_GCCOM_DELIVERY_NOTE_30 on GCCOM_DELIVERY_NOTE("ID_CONTRACTED_SERVICE",TO_CHAR("FORECAST_BILLING_DATE",'YYYYMM'))
index IDX_GCCOM_DELIVERY_NOTE_31 on GCCOM_DELIVERY_NOTE("ID_CONTRACTED_SERVICE","DELIVERY_NOTE_STATUS","IND_SIMULATED",TO_CHAR("FORECAST_BILLING_DATE",'YYYYMM'));
index IDX_GCCOMLOSTHISTORYSS_02 on GCCOM_LOST_HISTORY_SS("ID_SECTOR_SUPPLY","END_DATE","COD_VALUE");
しかし、説明計画は大きな改善を示していません:
インデックスを適用する前後の説明計画を比較しています。
アクセス パスにいくつかの変更が見られますが、全体的な結果は同じです。
それで、クエリは改善されましたか?
これらは TABLE ACCESS FULL です。インデックスを作成する必要がありますか?
GATHER_TABLE_STATS のヒントを使用してクエリを実行することを考慮していませんでした。
結果を返します!!