すべてのプロダクト
Search
ドキュメントセンター

:SQLコンソールページで実行されたSQL文のタイムアウト割り込みの解決策

最終更新日:Aug 02, 2024

問題の説明

DMSの [SQLコンソール] ページでSQLステートメントを実行すると、実行タイムアウトが発生します。 実行結果には、次の情報が表示されます。

[Statement 1]:
select count(*) from table_name where gmt_create>='2020-01-01';
Failed, details: Operation terminated (user interrupted or execution timed out)
[Solution]:
1. Add an indexed column in the query condition to improve the query performance.
2. Narrow the query scope as much as possible.
3. If the instance needs security collaboration, you can submit a schema design ticket to add indexes to the query columns.
4. Click edit instance to reset the query timeout value.
TraceId : 0bc059b716002426281173397e58b3

解決策

説明

: この記事のSQL文は例として使用されます。 詳細は実際の環境に依存します。

問題が発生した後、次の方法で解決できます。

  1. クエリ条件にインデックス付き列を追加して、クエリのパフォーマンスを向上させることができます。 user_idフィールドにインデックスがある場合は、クエリ条件を追加して、クエリ時間が短いことを確認できます。

    select count(*) from table_name where gmt_create>='2020-01-01' and user_id = '1000';

  2. クエリの範囲をできるだけ狭くします。 WHERE句を使用してクエリ条件を追加できます。 クエリの範囲を絞り込むには、gmt_createを次

    select count(*) from table_name where gmt_create>='2020-01-01' and gmt_create<'2020-04-01';
    

  3. セキュリティインスタンスでは、スキーマの設計またはデータの変更により、照会された列のインデックスを有効にできます。 インデックスを追加した後、クエリにインデックスフィールドの条件を追加できます。

    • Structural design: スキーマデザインを通じてgmt_createフィールドを設定できます。 詳細は、「スキーマデザイン」をご参照ください。

    • データ変更: 次のSQL文を使用して、gmt_createフィールドにインデックスを追加します。

      alter table table_name add index idx_gmt(gmt_create);

  4. インスタンスを編集して、クエリタイムアウト期間を変更できます。

    1. [DMS] ページで、対象のインスタンスを見つけます。 インスタンスIDを右クリックし、ショートカットメニューから [インスタンスの編集] を選択します。

    2. 実際の状況に応じて [詳細情報] をクリックして値のクエリタイムアウト時間を調整し、[送信済み] をクリックします。

      説明

      : このトピックでは、例として、クエリのタイムアウトは60秒です。

スコープ

  • Data Management