Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion develop/dev-guide-index-best-practice.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ CREATE TABLE `books` (

## インデックス作成のベストプラクティス {#best-practices-for-creating-indexes}

- 複数の列を含む結合インデックスを作成します。これは[カバーインデックスの最適化](/explain-indexes.md#indexreader)呼ばれる最適化です。**カバーインデックス最適化**により、TiDB はインデックス上で直接データをクエリできるようになり、パフォーマンスが向上します。
- 複数の列を含む結合インデックスを作成します。これは[カバリングインデックスの最適化](/explain-indexes.md#indexreader)呼ばれる最適化です。**カバリングインデックス最適化**により、TiDB はインデックス上で直接データをクエリできるようになり、パフォーマンスが向上します。

- 頻繁にクエリを実行しない列には、セカンダリインデックスを作成しないでください。セカンダリインデックスはクエリの速度向上に役立ちますが、副作用もあることに注意してください。インデックスを追加するたびに、行を挿入する際にキーと値が1つずつ追加されます。インデックスの数が増えるほど、書き込み速度が低下し、消費する領域も増加します。さらに、インデックスが多すぎるとオプティマイザの実行時間に影響し、不適切なインデックスはオプティマイザに誤動作をさせる可能性があります。そのため、インデックスの数が増えても必ずしもパフォーマンスが向上するとは限りません。

Expand Down
4 changes: 2 additions & 2 deletions develop/dev-guide-optimize-sql.md
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ EXPLAIN SELECT * FROM books WHERE title = 'Marian Yost';

TiDB 実行プランの詳細については、 [TiDB クエリ実行プランの概要](/explain-overview.md)参照してください。

### 解決策: カバーインデックスを使用する {#solution-use-covering-index}
### 解決策: カバリングインデックスを使用する {#solution-use-covering-index}

インデックスが、SQL ステートメントによってクエリされるすべての列を含むカバーリング インデックスである場合は、インデックス データをスキャンするだけでクエリに十分です。

Expand Down Expand Up @@ -152,7 +152,7 @@ EXPLAIN SELECT title, price FROM books WHERE title = 'Marian Yost';
+---------------------------+---------+-----------+-------------------------------------+-------------------------------------------------------+
```

パフォーマンスを最適化するには、インデックス`title_idx`を削除し、新しいカバーインデックス`title_price_idx`を作成します。
パフォーマンスを最適化するには、インデックス`title_idx`を削除し、新しいカバリングインデックス`title_price_idx`を作成します。

```sql
ALTER TABLE books DROP INDEX title_idx;
Expand Down
4 changes: 2 additions & 2 deletions develop/dev-guide-sql-development-specification.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ aliases: ['/ja/tidb/stable/dev-guide-sql-development-specification/','/ja/tidbcl

## <code>SELECT *</code>の使用法 {#code-select-code-usage}

- 基本原則: クエリに`SELECT *`使用しないでください
- 詳細:必要に応じて適切な列を選択し、 `SELECT *`使用してすべてのフィールドを読み取ることは避けてください。このような操作はネットワーク帯域幅を消費するためです。カバーインデックスを効果的に活用するには、クエリ対象のフィールドをインデックスに追加することを検討してください。
- 基本原則: クエリに`SELECT *`を使用しないでください
- 詳細:必要に応じて適切な列を選択し、 `SELECT *`を使用してすべてのフィールドを読み取ることは避けてください。このような操作はネットワーク帯域幅を消費するためです。カバリングインデックスを効果的に活用するには、クエリ対象のフィールドをインデックスに追加することを検討してください。

## フィールドで関数を使用する {#use-functions-on-fields}

Expand Down
2 changes: 1 addition & 1 deletion explain-indexes.md
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ EXPLAIN SELECT * FROM t1 ORDER BY intkey DESC LIMIT 10;

## インデックスリーダー {#indexreader}

TiDBは*カバーインデックス最適化*をサポートしています。インデックスからすべての行を取得できる場合、TiDBは通常`IndexLookup`で必要な2番目のステップを省略します。次の2つの例を考えてみましょう。
TiDBは*カバリングインデックス最適化*をサポートしています。インデックスからすべての行を取得できる場合、TiDBは通常`IndexLookup`で必要な2番目のステップを省略します。次の2つの例を考えてみましょう。

```sql
EXPLAIN SELECT * FROM t1 WHERE intkey = 123;
Expand Down
6 changes: 3 additions & 3 deletions sql-tuning-best-practice.md
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ PLAN REPLAYER DUMP EXPLAIN [ANALYZE] [WITH STATS AS OF TIMESTAMP expression] sql
- [TiDBのインデックス戦略](#index-strategy-in-tidb)
- [複合指数戦略ガイドライン](#composite-index-strategy-guidelines)
- [インデックス作成のコスト](#the-cost-of-indexing)
- [カバーインデックスを使用したSQLチューニング](#sql-tuning-with-a-covering-index)
- [カバリングインデックスを使用したSQLチューニング](#sql-tuning-with-a-covering-index)
- [ソートを含む複合インデックスを使用したSQLチューニング](#sql-tuning-with-a-composite-index-involving-sorting)
- [効率的なフィルタリングとソートのための複合インデックスを使用したSQLチューニング](#sql-tuning-with-composite-indexes-for-efficient-filtering-and-sorting)
- [TiFlashを使用する場合](#when-to-use-tiflash)
Expand Down Expand Up @@ -573,7 +573,7 @@ TiDBのパフォーマンスを最適化するには、インデックスを効
- 日付時刻列の時間範囲条件
- `!=` `<>`の他の非`IS NOT NULL`の`NOT IN`

4. カバーインデックスを最大限に活用するには、 `SELECT`リストから列を追加するか、集計に使用します。
4. カバリングインデックスを最大限に活用するには、 `SELECT`リストから列を追加するか、集計に使用します。

**特別な考慮: `IN`条件**

Expand Down Expand Up @@ -607,7 +607,7 @@ TiDBのパフォーマンスを最適化するには、インデックスを効
- [`TIDB_INDEX_USAGE`](/information-schema/information-schema-tidb-index-usage.md)使用してインデックスの使用状況統計を定期的に確認します。
- インデックスを設計するときは、ワークロードの書き込み/読み取り比率を考慮してください。

#### カバーインデックスを使用したSQLチューニング {#sql-tuning-with-a-covering-index}
#### カバリングインデックスを使用したSQLチューニング {#sql-tuning-with-a-covering-index}

カバリングインデックスには、 `WHERE`と`SELECT`句で参照されるすべての列が含まれます。カバリングインデックスを使用すると、追加のインデックス参照が不要になり、クエリのパフォーマンスが大幅に向上します。

Expand Down
2 changes: 1 addition & 1 deletion tidb-cloud/tidb-cloud-sql-tuning-overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ TiDBによって選択された実行プランが最適でない場合は、 EXP
SQLクエリが遅くなる最も一般的な原因は、 `SELECT`ステートメントがフルテーブルスキャンを実行するか、不適切なインデックスを使用していることです。EXPLAINまたはEXPLAIN ANALYZEを使用してクエリの実行プランを表示し、実行が遅くなる原因を特定できます。最適化に使用できる[3つの方法](/develop/dev-guide-optimize-sql.md)あります。

- セカンダリインデックスを使用する
- カバーインデックスを使用する
- カバリングインデックスを使用する
- プライマリーインデックスを使用する

### DMLのベストプラクティス {#dml-best-practices}
Expand Down
Loading