インデックスインサイト(ベータ版)

TiDB Cloudの Index Insight (ベータ) 機能は、インデックスを効果的に使用していない遅いクエリに対してインデックスの推奨を提供することで、クエリのパフォーマンスを最適化する強力な機能を提供します。このドキュメントでは、Index Insight 機能を有効にして効果的に利用する手順について説明します。

注記:

Index Insight は現在ベータ版であり、 TiDB専用クラスターでのみ使用できます。

導入

Index Insight 機能には次の利点があります。

  • クエリのパフォーマンスの強化: Index Insight は遅いクエリを特定し、それらに適切なインデックスを提案します。これにより、クエリの実行が高速化され、応答時間が短縮され、ユーザー エクスペリエンスが向上します。
  • コスト効率: Index Insight を使用してクエリ パフォーマンスを最適化すると、追加のコンピューティング リソースの必要性が減り、既存のインフラストラクチャをより効果的に使用できるようになります。これにより、運用コストの削減につながる可能性があります。
  • 簡素化された最適化プロセス: Index Insight は、インデックスの改善点の特定と実装を簡素化し、手動による分析や推測の必要性を排除します。その結果、正確なインデックス推奨により時間と労力を節約できます。
  • アプリケーション効率の向上: Index Insight を使用してデータベースのパフォーマンスを最適化することで、 TiDB Cloud上で実行されるアプリケーションはより大きなワークロードを処理し、より多くのユーザーに同時にサービスを提供できるため、アプリケーションのスケーリング操作がより効率的になります。

使用法

このセクションでは、インデックス インサイト機能を有効にして、遅いクエリに対して推奨されるインデックスを取得する方法を紹介します。

あなたが始める前に

Index Insight 機能を有効にする前に、TiDB 専用クラスターを作成していることを確認してください。お持ちでない場合は、 TiDB 専用クラスターの作成の手順に従って作成してください。

ステップ 1: Index Insight を有効にする

  1. TiDB Cloudコンソールで、TiDB 専用クラスターのクラスター概要ページに移動し、左側のナビゲーション ペインで[診断]をクリックします。

  2. 「Index Insight BETA」タブをクリックします。 Index Insight の概要ページが表示されます。

  3. Index Insight 機能を使用するには、専用の SQL ユーザーを作成する必要があります。このユーザーは、機能をトリガーし、インデックスの推奨事項を受け取るために使用されます。次の SQL ステートメントは、必要な権限( information_schemamysqlに対する読み取り権限、すべてのデータベースに対するPROCESSREFERENCES権限)を持つ新しい SQL ユーザーを作成します。 'index_insight_user''random_password'実際の値に置き換えます。

    CREATE user 'index_insight_user'@'%' IDENTIFIED by 'random_password'; GRANT SELECT ON information_schema.* TO 'index_insight_user'@'%'; GRANT SELECT ON mysql.* TO 'index_insight_user'@'%'; GRANT PROCESS, REFERENCES ON *.* TO 'index_insight_user'@'%'; FLUSH PRIVILEGES;

    注記:

    TiDB 専用クラスターに接続するには、 TiDB 専用クラスターに接続するを参照してください。

  4. 前の手順で作成した SQL ユーザーのユーザー名とパスワードを入力します。次に、 「アクティブ化」をクリックしてアクティブ化プロセスを開始します。

ステップ 2: Index Insight を手動でトリガーする

遅いクエリに対するインデックスの推奨事項を取得するには、[インデックス インサイト]概要ページの右上隅にある[チェックアップ]をクリックして、インデックス インサイト機能を手動でトリガーできます。

次に、この機能は過去 3 時間の遅いクエリのスキャンを開始します。スキャンが完了すると、分析に基づいてインデックスの推奨事項のリストが提供されます。

ステップ 3: インデックスの推奨事項をビュー

特定のインデックス推奨の詳細を表示するには、リストからインサイトをクリックします。 [インデックス インサイトの詳細]ページが表示されます。

このページでは、インデックスの推奨事項、関連する遅いクエリ、実行プラン、および関連するメトリクスを見つけることができます。この情報は、パフォーマンスの問題をより深く理解し、インデックス推奨事項の実装による潜在的な影響を評価するのに役立ちます。

ステップ 4: インデックスの推奨事項を実装する

インデックスの推奨事項を実装する前に、まず[インデックス インサイトの詳細]ページで推奨事項を確認して評価する必要があります。

インデックスの推奨事項を実装するには、次の手順に従います。

  1. 提案されたインデックスが既存のクエリとワークロードに及ぼす影響を評価します。
  2. storage要件と、インデックスの実装に関連する潜在的なトレードオフを考慮してください。
  3. 適切なデータベース管理ツールを使用して、関連するテーブルに推奨されるインデックスを作成します。
  4. インデックスを実装した後のパフォーマンスを監視して、改善を評価します。

ベストプラクティス

このセクションでは、Index Insight 機能を使用するためのベスト プラクティスをいくつか紹介します。

Index Insight を定期的にトリガーする

最適化されたインデックスを維持するには、毎日、またはクエリやデータベース スキーマに大幅な変更が発生したときなど、定期的に Index Insight 機能をトリガーすることをお勧めします。

インデックスを導入する前に影響を分析する

インデックスの推奨事項を実装する前に、クエリ実行プラン、ディスク容量、および関連するトレードオフに対する潜在的な影響を分析してください。最も大幅なパフォーマンス向上をもたらすインデックスの実装を優先します。

パフォーマンスを監視する

インデックスの推奨事項を実装した後は、クエリのパフォーマンスを定期的に監視します。これは、改善点を確認し、必要に応じてさらに調整するのに役立ちます。

FAQ

このセクションでは、Index Insight 機能に関してよくある質問をいくつか示します。

Index Insight を非アクティブ化するにはどうすればよいですか?

Index Insight 機能を無効にするには、次の手順を実行します。

  1. Index Insight の概要ページの右上隅にある[設定]をクリックします。 Index Insight 設定ページが表示されます。

  2. 「非アクティブ化」をクリックします。確認のダイアログボックスが表示されます。

  3. 「OK」をクリックして非アクティブ化を確認します。

    Index Insight 機能を非アクティブ化すると、すべてのインデックスの推奨事項がIndex Insight の概要ページから削除されます。ただし、この機能用に作成された SQL ユーザーは削除されません。 SQL ユーザーは手動で削除できます。

Index Insight を非アクティブ化した後に SQL ユーザーを削除するにはどうすればよいですか?

Index Insight 機能を非アクティブ化した後、 DROP USERステートメントを実行して、この機能用に作成された SQL ユーザーを削除できます。以下は一例です。 'username'実際の値に置き換えます。

DROP USER 'username';

アクティベーションまたはチェックアップ中にinvalid user or passwordメッセージが表示されるのはなぜですか?

invalid user or passwordメッセージは通常、指定した資格情報をシステムが認証できない場合にプロンプ​​トを表示します。この問題は、ユーザー名やパスワードが間違っている、ユーザー アカウントの有効期限が切れているかロックされているなど、さまざまな理由で発生する可能性があります。

この問題を解決するには、次の手順を実行します。

  1. 資格情報を確認する: 指定したユーザー名とパスワードが正しいことを確認してください。大文字と小文字の区別に注意してください。

  2. アカウントのステータスを確認する: ユーザー アカウントがアクティブなステータスにあり、期限切れまたはロックされていないことを確認します。これを確認するには、システム管理者または関連するサポート チャネルに問い合わせてください。

  3. 新しい SQL ユーザーを作成する: 前の手順でこの問題が解決されない場合は、次のステートメントを使用して新しい SQL ユーザーを作成できます。 'index_insight_user''random_password'を実際の値に置き換えます。

    CREATE user 'index_insight_user'@'%' IDENTIFIED by 'random_password'; GRANT SELECT ON information_schema.* TO 'index_insight_user'@'%'; GRANT SELECT ON mysql.* TO 'index_insight_user'@'%'; GRANT PROCESS, REFERENCES ON *.* TO 'index_insight_user'@'%'; FLUSH PRIVILEGES;

前述の手順を実行しても問題が解決しない場合は、 PingCAP サポート チームに連絡することをお勧めします。

アクティベーションまたはチェックアップ中にno sufficient privilegesメッセージが表示されるのはなぜですか?

no sufficient privilegesメッセージは通常、指定した SQL ユーザーに Index Insight からのインデックス推奨を要求するために必要な権限がない場合にプロンプ​​トを表示します。

この問題を解決するには、次の手順を実行します。

  1. ユーザー権限を確認する: ユーザー アカウントに、すべてのデータベースに対するinformation_schemamysqlの読み取り権限、 PROCESSREFERENCES権限など、必要な権限が付与されているかどうかを確認します。

  2. 新しい SQL ユーザーを作成する: 前の手順でこの問題が解決されない場合は、次のステートメントを使用して新しい SQL ユーザーを作成できます。 'index_insight_user''random_password'を実際の値に置き換えます。

    CREATE user 'index_insight_user'@'%' IDENTIFIED by 'random_password'; GRANT SELECT ON information_schema.* TO 'index_insight_user'@'%'; GRANT SELECT ON mysql.* TO 'index_insight_user'@'%'; GRANT PROCESS, REFERENCES ON *.* TO 'index_insight_user'@'%'; FLUSH PRIVILEGES;

前述の手順を実行しても問題が解決しない場合は、 PingCAP サポート チームに連絡することをお勧めします。

Index Insight の使用中にoperations may be too frequentというメッセージが表示されるのはなぜですか?

operations may be too frequentメッセージは通常、Index Insight によって設定されたレートまたは使用制限を超過した場合にプロンプ​​トを表示します。

この問題を解決するには、次の手順を実行します。

  1. 操作を遅くしてください: このメッセージが表示された場合は、Index Insight での操作頻度を減らす必要があります。
  2. サポートに連絡する: 問題が解決しない場合は、 PingCAP サポート チームに連絡し、エラー メッセージの詳細、アクション、その他の関連情報を提供してください。

Index Insight の使用中にinternal errorメッセージが表示されるのはなぜですか?

internal errorメッセージは通常、システムで予期しないエラーまたは問題が発生したときに表示されます。このエラー メッセージは一般的なものであり、根本的な原因に関する詳細は示されていません。

この問題を解決するには、次の手順を実行します。

  1. 操作を再試行します: ページを更新するか、操作を再試行してください。エラーは一時的なものである可能性があり、簡単な再試行で解決できます。
  2. サポートに連絡する: 問題が解決しない場合は、 PingCAP サポート チームに連絡し、エラー メッセージの詳細、アクション、その他の関連情報を提供してください。

このページは役に立ちましたか?

Playground
新規
登録なしで TiDB の機能をワンストップでインタラクティブに体験できます。
製品
TiDB Cloud
TiDB
価格
PoC お問い合わせ
エコシステム
TiKV
TiFlash
OSS Insight
© 2024 PingCAP. All Rights Reserved.
Privacy Policy.