Skip to main content
セルフホストのBusinessプラン以上で利用できます
パス:システム管理 → テーブルクエリ運用 大規模なテーブルでビュー、フィルター、リレーション、検索が遅くなった場合は、テーブル検索とインデックスを使用します。Teableはバックグラウンドでクエリの負荷を観測し、テーブルごとに現状をまとめます。現在どの方式で検索しているか、どのフィールドがカバーされているか、どの物理インデックスがあるか、直近の低速クエリはどれくらいかが分かります。インスタンス管理者は、ここで検索カバレッジの設定、インデックスの作成、実行結果の追跡を行います。
このページはタスクを登録するだけで、データベースを直接変更することはありません。すべての変更はバックグラウンドで非同期に実行されるため、結果はタスク / 履歴で確認してください。
テーブルクエリ運用は既定で無効です。バックエンドで V2_TABLE_QUERY_OPS_ENABLED を true に設定して再起動すると、このページが観測データの蓄積を始めます。

対応が必要なテーブルを探す

ページを開くとテーブル一覧が表示されます。上部の状態ボタンにはそれぞれの件数が付いており、一覧を絞り込めます。 検索ボックスでは、テーブル、プロジェクト、スペースの名前とIDを指定できます。並べ替えは低速クエリが多い順またはテーブル名です。観測期間は直近1時間または24時間から選べ、一覧の観測値はすべてこの期間に従います。観測データの保持期間は2日間で、それより古いものは一覧に表示されません。 各行には、テーブルの推定行数とサイズ、期間内のリクエスト数と低速クエリ数、現在の検索方式とフィールドのカバー状況、フィルター/ソート用インデックスの数、未処理の推奨事項と実行中タスクの件数が表示されます。テーブル名をクリックすると詳細が開きます。 状態ボタンの右にあるインデックス状態についてを開くと、これらの件数の集計方法が説明されています。

インデックスの状態を読む

テーブル一覧と詳細では、検索方式の横にそのテーブルのインデックス状態が表示されます。 状態の下には次の2行が表示されることがあります。設定済み:pg_bigm / pg_trgmは、保存されたプロバイダーが現在の検索方式と異なることを示します。インデックス検索のランタイムスイッチ:オフは、インデックスは準備できているがランタイムが無効で、検索がILIKEのままであることを示します。 ページ上部の通知に、検索インデックスを設定済みなのに機能していないテーブルが表示された場合、それらのテーブルの検索はILIKEにフォールバックします。タスクワーカーがオフであることも表示されている場合は、バックエンドでV2_TABLE_QUERY_OPS_TASK_WORKER_ENABLEDをtrueに設定して再起動すると、インデックスを再構築できるようになります。
インデックスが公開済みでも、すべての検索がインデックスを使うわけではありません。検索語が短い場合やカバレッジ外のフィールドではILIKEにフォールバックします。このページが示すのはインデックスの現状であり、直近のリクエストがインデックスを使ったことの証明ではありません。

検索カバレッジを設定する

検索カバレッジタブには、そのテーブルの現在の検索方式、カバー済みフィールド数、各フィールドの有効なカバレッジが表示されます。未カバーのフィールドを表示を使うと、まだ含まれていないフィールドだけに絞り込めます。対象外と表示されたフィールドは、部分一致検索インデックスには使用できません。
有効なカバレッジには、インデックスのメタデータが公開済みかつ利用可能で、ランタイムスイッチがオンであることが必要です。設定を保存しただけではカバレッジに数えられません。カバレッジは明示的に指定するため、あとから追加したフィールドは自動では含まれません。テーブルを設定し直して取り込んでください。
未設定のテーブルでは検索を設定、設定済みのテーブルではフィールド選択の更新 / 再構築を選びます。再構築の場合、ダイアログには前回保存したプロバイダーとフィールド選択が入った状態で開きます。ダイアログでは次の項目を指定します。 分析してドライランを実行すると、確定せずに変更を試算し、カバー対象のフィールド数、推定行数、実行計画の根拠の有無、新規作成または再構築による影響が表示されます。推定5万行以上のテーブルやサイズが不明なテーブルでは、メンテナンスウィンドウの確認チェックも必要です。内容を確認したら確認してタスクを登録を選びます。
検索カバレッジの作成や再構築では、検索用の列とGINインデックスが生成されます。テーブル全体の書き換えとロックが発生する可能性があり、その間はインデックス検索が一時的に中断されます。メンテナンスウィンドウ内で実施してください。
ダイアログに表示されるのはタスクの受付結果であり、実行結果ではありません。ダイアログを閉じ、タスク / 履歴で進捗を追ってください。同じ変更を再送信しても、既存のタスクが返されます。

フィルター/ソート用インデックスを管理する

フィルター / ソートインデックスタブには、このテーブルのフィルター条件と並べ替えに使われる物理インデックスが、有効性、Teableによる管理の有無、サイズ、定義とともに表示されます。これらは部分一致検索インデックスとは別に管理されます。 その下の保留中の操作には、システムが提示したインデックスの推奨事項と、実行計画の根拠の有無が表示されます。インデックス作成を確認では、提案されたインデックス、実行先のデータベース、根拠を確認できます。確定すると、TeableはCREATE INDEX CONCURRENTLYを非同期で実行します。大規模なテーブルやサイズが不明なテーブルでは、ここでもメンテナンスウィンドウの確認が必要です。
このページからインデックスを削除することはできません。非管理インデックスやシステムインデックスは制約や他のクエリに使われている可能性があるため、削除の対象外です。

個別のクエリを診断する

特定のテーブルが遅いと報告されたものの、該当する推奨事項がない場合は、クエリ診断タブを開いてクエリを分析を選びます。分析は保存済みのクエリ形状と利用可能な実行計画の根拠を読み取るだけで、インデックスは作成しません。 結果は、実行計画に裏付けられたインデックス改善余地あり、利用可能な実行計画ではインデックス改善余地を確認できず、根拠不足のいずれかです。根拠不足はシーケンシャルスキャンが起きた証拠にはなりません。低速クエリの観測だけでは、アクセスパスに問題があるとは言えないためです。その下には、対象のクエリごとに、実際のトラフィック由来か保存済みビュー設定由来かと、提案インデックス適用前後の推定プランコスト(ミリ秒ではなくプランコスト)が表示されます。

実行結果を追う

タスク / 履歴タブは3つの部分で構成されています。
  • タスク:このテーブルのバックグラウンドタスク。状態、試行回数、タスク種別、失敗理由が表示されます。失敗したあとに最終的に成功したタスクでは、エラーが過去の試行として表示されます。
  • 検索設定履歴:過去の検索カバレッジ設定のプロバイダー、状態、フィールド一覧。
  • 推奨事項の履歴:承認、却下、置き換えとなった推奨事項。
履歴は最新の一定件数のみ読み込まれます。それを超える場合は、一覧の上に総件数が表示されます。
テーブルに待機中または実行中のタスクがある間は、検索の設定とインデックス作成のボタンは無効になります。タスクの完了を待ってから操作してください。
最終更新日 2026年10月14日