diff --git a/choose-index.md b/choose-index.md index 5bf3a6359299d..ba5d35e0983d4 100644 --- a/choose-index.md +++ b/choose-index.md @@ -18,11 +18,11 @@ storageエンジンからのデータ読み込みは、SQL実行において最 | オペレーター | トリガー条件 | 適用可能なシナリオ | 説明 | | :----------------------- | :---------------------------------------------- | :-------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------- | | PointGet / BatchPointGet | 1つ以上の単一ポイント範囲内のテーブルにアクセスする場合。 | どのようなシナリオでも | トリガーされた場合、通常は最も高速な演算子と考えられています。これは、コプロセッサインターフェースを呼び出すのではなく、kvgetインターフェースを直接呼び出して計算を実行するためです。 | -| テーブルリーダー | なし | どのようなシナリオでも | この TableReader オペレーターは TiKV 用です。一般的に、TiKVレイヤーからテーブルデータを直接スキャンするオペレーターの中で最も効率が悪いと考えられています。 `_tidb_rowid`列に範囲クエリがある場合、またはテーブルにアクセスするための他のオペレーターが選択できない場合にのみ選択できます。 | -| テーブルリーダー | テーブルはTiFlashノード上に複製されます。 | 読み込む列の数は少ないが、評価する行の数は多い。 | この TableReader 演算子はTiFlash用です。TiFlashは列ベースのstorageです。列数が少なく行数が多い場合、この演算子を選択することをお勧めします。 | -| インデックスリーダー | テーブルには1つ以上のインデックスがあり、計算に必要な列はインデックスに含まれています。 | インデックスに対してより狭い範囲のクエリを実行する場合、またはインデックス付き列に順序要件がある場合。 | 複数の指標が存在する場合は、コスト見積もりに基づいて適切な指標が選択されます。 | +| TableReader | なし | どのようなシナリオでも | この TableReader オペレーターは TiKV 用です。一般的に、TiKVレイヤーからテーブルデータを直接スキャンするオペレーターの中で最も効率が悪いと考えられています。 `_tidb_rowid`列に範囲クエリがある場合、またはテーブルにアクセスするための他のオペレーターが選択できない場合にのみ選択できます。 | +| TableReader | テーブルはTiFlashノード上に複製されます。 | 読み込む列の数は少ないが、評価する行の数は多い。 | この TableReader 演算子はTiFlash用です。TiFlashは列ベースのストレージです。列数が少なく行数が多い場合、この演算子を選択することをお勧めします。 | +| IndexReader | テーブルには1つ以上のインデックスがあり、計算に必要な列はインデックスに含まれています。 | インデックスに対してより狭い範囲のクエリを実行する場合、またはインデックス付き列に順序要件がある場合。 | 複数の指標が存在する場合は、コスト見積もりに基づいて適切な指標が選択されます。 | | IndexLookupReader | テーブルには1つ以上のインデックスがあり、計算に必要な列がインデックスに完全に含まれていない。 | IndexReaderと同じです。 | インデックスは計算列を完全にカバーしていないため、TiDBはインデックスを読み取った後にテーブルから行を取得する必要があります。これはIndexReaderオペレーターと比較して追加のコストがかかります。 | -| インデックスマージ | テーブルには複数のインデックス、または複数値インデックスが存在する。 | 複数値インデックスまたは複数のインデックスが使用される場合。 | 演算子を使用するには、[オプティマイザのヒント](/optimizer-hints.md)を指定するか、コスト見積もりに基づいてオプティマイザにこの演算子を自動的に選択させることができます。詳細については、[インデックスマージを使用した説明文](/explain-index-merge.md)を参照してください。 | +| IndexMerge | テーブルには複数のインデックス、または複数値インデックスが存在する。 | 複数値インデックスまたは複数のインデックスが使用される場合。 | 演算子を使用するには、[オプティマイザのヒント](/optimizer-hints.md)を指定するか、コスト見積もりに基づいてオプティマイザにこの演算子を自動的に選択させることができます。詳細については、[インデックスマージを使用したステートメントの説明](/explain-index-merge.md)を参照してください。 | > **注記:** > @@ -145,7 +145,7 @@ mysql> SHOW WARNINGS; ## 複数値インデックスを使用する {#use-multi-valued-indexes} -[多値インデックス](/sql-statements/sql-statement-create-index.md#multi-valued-indexes)は通常のインデックスとは異なります。 TiDB は現在、複数値のインデックスにアクセスするために[インデックスマージ](/explain-index-merge.md)のみを使用します。したがって、データ アクセスに複数値インデックスを使用するには、システム変数[`tidb_enable_index_merge`](/system-variables.md#tidb_enable_index_merge-new-in-v40)の値が`ON`に設定されていることを確認してください。 +[多値インデックス](/sql-statements/sql-statement-create-index.md#multi-valued-indexes)は通常のインデックスとは異なります。 TiDB は現在、複数値のインデックスにアクセスするために[IndexMerge](/explain-index-merge.md)のみを使用します。したがって、データ アクセスに複数値インデックスを使用するには、システム変数[`tidb_enable_index_merge`](/system-variables.md#tidb_enable_index_merge-new-in-v40)の値が`ON`に設定されていることを確認してください。 複数値インデックスの制限事項については、 [`CREATE INDEX`](/sql-statements/sql-statement-create-index.md#limitations)を参照してください。