Skip to content
Open
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
6 changes: 3 additions & 3 deletions encryption-at-rest.md
Original file line number Diff line number Diff line change
Expand Up @@ -242,7 +242,7 @@ path = "/path/to/key/file"
3b5896b5be691006e0f71c3040a29495ddcad20b14aff61806940ebd780d3c62
```

### マスターキーを回転させる {#rotate-the-master-key}
### マスターキーをローテーションする {#rotate-the-master-key}

マスターキーをローテーションするには、設定で新しいマスターキーと古いマスターキーの両方を指定し、TiKVを再起動する必要があります。新しいマスターキーを指定するには`security.encryption.master-key`を使用し、古いマスターキーを指定するには`security.encryption.previous-master-key`を使用します。 `security.encryption.previous-master-key`の設定形式は`encryption.master-key`と同じです。再起動後、TiKVは新しいマスターキーと古いマスターキーの両方にアクセスする必要がありますが、TiKVが起動して実行されると、TiKVは新しいキーのみにアクセスする必要があります。それ以降は、設定ファイルに`encryption.previous-master-key`設定を残しておいても問題ありません。再起動後も、TiKVは新しいマスターキーを使用して既存のデータを復号化できなかった場合にのみ、古いキーを使用しようとします。

Expand Down Expand Up @@ -367,7 +367,7 @@ server_configs:

上記の設定項目の意味やキーファイルの内容形式は TiKV と同様です。

### マスターキーを回転させる {#rotate-the-master-key}
### マスターキーをローテーションする {#rotate-the-master-key}

TiFlashのマスターキーをローテーションするには、TiKV のマスターキーをローテーションする手順に従ってください。現在、 TiFlash はオンラインでのマスターキーのローテーションもサポートしていません。そのため、ローテーションを有効にするにはTiFlashを再起動する必要があります。オンラインクエリを処理している稼働中のTiFlashクラスターに対して、ローリング再起動を実行することをお勧めします。

Expand Down Expand Up @@ -410,7 +410,7 @@ TiFlashもv4.0.9で暗号化メタデータ操作を最適化しており、そ

## BR S3 サーバー側暗号化 {#br-s3-server-side-encryption}

BRを使用して S3 にバックアップする際に S3 サーバー側の暗号化を有効にするには、引数を`--s3.sse`渡し、値を "aws:kms" に設定します。S3 は暗号化に独自の KMS キーを使用します。例:
BRを使用して S3 にバックアップする際に S3 サーバー側の暗号化を有効にするには、 `--s3.sse`引数を渡し、値を "aws:kms" に設定します。S3 は暗号化に独自の KMS キーを使用します。例:

```
tiup br backup full --pd <pd-address> --storage "s3://<bucket>/<prefix>" --s3.sse aws:kms
Expand Down
4 changes: 2 additions & 2 deletions functions-and-operators/control-flow-functions.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ TiDB は、MySQL 8.0 で利用可能な[制御フロー関数](https://dev.mysql
| [`IFNULL()`](#ifnull) | null if/else 構文 |
| [`NULLIF()`](#nullif) | expr1 = expr2の場合は`NULL`返す |

## 場合 {#case}
## CASE {#case}

[`CASE`](https://dev.mysql.com/doc/refman/8.0/en/flow-control-functions.html#operator_case)演算子を使用すると、条件付きロジックを実行し、指定された条件に基づいてクエリ結果をカスタマイズできます。

Expand Down Expand Up @@ -54,7 +54,7 @@ SELECT n, CASE WHEN n MOD 2 THEN "odd" ELSE "even" END FROM d;
10 rows in set (0.00 sec)
```

## もし() {#if}
## IF() {#if}

[`IF()`](https://dev.mysql.com/doc/refman/8.0/en/flow-control-functions.html#function_if)関数を使用すると、値または式が真かどうかに基づいてさまざまなアクションを実行できます。

Expand Down
22 changes: 11 additions & 11 deletions functions-and-operators/information-functions.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ TiDB は、MySQL 8.0 で利用可能な[情報関数](https://dev.mysql.com/doc/
| [`USER()`](#user) | クライアントから提供されたユーザー名とホスト名を返します |
| [`VERSION()`](#version) | MySQLサーバーのバージョンを示す文字列を返します |

### ベンチマーク() {#benchmark}
### BENCHMARK() {#benchmark}

`BENCHMARK()`関数は、指定された回数、指定された式を実行します。

Expand Down Expand Up @@ -53,7 +53,7 @@ SELECT BENCHMARK(5, SLEEP(2));
1 row in set (10.00 sec)
```

### 接続ID() {#connection_id}
### CONNECTION_ID() {#connection_id}

<CustomContent platform="tidb">

Expand Down Expand Up @@ -84,7 +84,7 @@ SELECT CONNECTION_ID();
1 row in set (0.00 sec)
```

### 現在のロール() {#current_role}
### CURRENT_ROLE() {#current_role}

<CustomContent platform="tidb">

Expand All @@ -111,7 +111,7 @@ SELECT CURRENT_ROLE();
1 row in set (0.00 sec)
```

### 現在のユーザー() {#current_user}
### CURRENT_USER() {#current_user}

`CURRENT_USER()`関数は、現在のセッションで使用されているアカウントを返します。

Expand All @@ -128,7 +128,7 @@ SELECT CURRENT_USER();
1 row in set (0.00 sec)
```

### データベース() {#database}
### DATABASE() {#database}

`DATABASE()`関数は、現在のセッションで使用されているデータベース スキーマを返します。

Expand All @@ -145,7 +145,7 @@ SELECT DATABASE();
1 row in set (0.00 sec)
```

### 見つかった行() {#found_rows}
### FOUND_ROWS() {#found_rows}

`FOUND_ROWS()`関数は、最後に実行された`SELECT`ステートメントの結果セット内の行数を返します。

Expand Down Expand Up @@ -180,7 +180,7 @@ SELECT FOUND_ROWS();
>
> クエリ修飾子`SQL_CALC_FOUND_ROWS`は、`LIMIT`句を考慮せずに結果セットの合計行数を計算しますが、[`tidb_enable_noop_functions`](/system-variables.md#tidb_enable_noop_functions-new-in-v40)が有効な場合にのみ使用できます。このクエリ修飾子は、MySQL 8.0.17 以降では非推奨です。代わりに`COUNT(*)`を使用することをお勧めします。

### 最終挿入ID() {#last_insert_id}
### LAST_INSERT_ID() {#last_insert_id}

`LAST_INSERT_ID()`関数は、 [`AUTO_INCREMENT`](/auto-increment.md)または[`AUTO_RANDOM`](/auto-random.md)列を含むテーブルに最後に挿入された行の ID を返します。

Expand Down Expand Up @@ -241,19 +241,19 @@ SELECT ROW_COUNT();
1 row in set (0.00 sec)
```

### スキーマ() {#schema}
### SCHEMA() {#schema}

`SCHEMA()`関数は[`DATABASE()`](#database)の同義語です。

### セッションユーザー() {#session_user}
### SESSION_USER() {#session_user}

`SESSION_USER()`関数は[`USER()`](#user)の同義語です。

### SYSTEM_USER() {#system_user}

`SYSTEM_USER()`関数は[`USER()`](#user)の同義語です。

### ユーザー() {#user}
### USER() {#user}

`USER()`関数は現在の接続のユーザーを返します。`USER()`はワイルドカードではなく実際のIPアドレスを表示するため、 `CURRENT_USER()`の出力とは若干異なる場合があります。

Expand All @@ -270,7 +270,7 @@ SELECT USER(), CURRENT_USER();
1 row in set (0.00 sec)
```

### バージョン() {#version}
### VERSION() {#version}

`VERSION()`関数は、MySQLと互換性のある形式でTiDBのバージョンを返します。より詳細な結果を取得するには、 [`TIDB_VERSION()`](/functions-and-operators/tidb-functions.md#tidb_version)関数を使用します。

Expand Down
14 changes: 7 additions & 7 deletions functions-and-operators/miscellaneous-functions.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ TiDB は、MySQL 8.0 で利用可能な[その他の関数](https://dev.mysql.co
| [`UUID_TO_BIN()`](#uuid_to_bin) | UUIDをテキスト形式からバイナリ形式に変換する |
| [`VALUES()`](#values) | INSERT時に使用される値を定義します |

### 任意の値() {#any_value}
### ANY_VALUE() {#any_value}

`ANY_VALUE()`関数は、値のグループから任意の値を返します。通常、 `SELECT`ステートメントに集計されていない列を`GROUP BY`句とともに含める必要があるシナリオで使用されます。

Expand Down Expand Up @@ -113,7 +113,7 @@ SELECT BIN_TO_UUID(0x11EEEB6D9A17B457BACF5405DB7AAD56, 1);

[UUID()](#uuid)および[UUIDのベストプラクティス](/best-practices/uuid.md)も参照してください。

### デフォルト() {#default}
### DEFAULT() {#default}

`DEFAULT()`関数は、列のデフォルト値を取得するために使用されます。

Expand All @@ -139,7 +139,7 @@ TABLE t1;

前述の例では、 `UPDATE`ステートメントは`c1`列の値を、列のデフォルト値 ( `5` ) に`3`を加えた値に設定し、結果として`8`という新しい値になります。

### グループ化() {#grouping}
### GROUPING() {#grouping}

[`GROUP BY`修飾子](/functions-and-operators/group-by-modifier.md)を参照してください。

Expand Down Expand Up @@ -258,7 +258,7 @@ SELECT IS_IPV4_COMPAT(INET6_ATON('::127.0.0.1'));
1 row in set (0.00 sec)
```

### IS_IPV4_MAPPE() {#is_ipv4_mapped}
### IS_IPV4_MAPPED() {#is_ipv4_mapped}

`IS_IPV4_MAPPED()`関数は、指定された引数が IPv4 マップド アドレスであるかどうかをテストします。

Expand Down Expand Up @@ -343,7 +343,7 @@ SELECT 'value' AS 'column name' UNION ALL SELECT 'another value';
2 rows in set (0.00 sec)
```

### 寝る() {#sleep}
### SLEEP() {#sleep}

`SLEEP()`関数は、クエリの実行を指定された秒数だけ一時停止するために使用されます。

Expand Down Expand Up @@ -379,11 +379,11 @@ SELECT UUID();

[UUIDのベストプラクティス](/best-practices/uuid.md)も参照してください。

### UUIDからビンへ {#uuid_to_bin}
### UUID_TO_BIN {#uuid_to_bin}

[BIN_TO_UUID()](#bin_to_uuid)を参照してください。

### () {#values}
### VALUES() {#values}

`VALUES(col_name)`関数は、 [`INSERT`](/sql-statements/sql-statement-insert.md)ステートメントの`ON DUPLICATE KEY UPDATE`句で特定の列の値を参照するために使用されます。

Expand Down
4 changes: 2 additions & 2 deletions functions-and-operators/string-functions.md
Original file line number Diff line number Diff line change
Expand Up @@ -1698,7 +1698,7 @@ FROM
4 rows in set (0.00 sec)
```

次の例は、 `REGEXP` `SELECT`句に限定されないことを示しています。例えば、クエリの`WHERE`句でも使用できます。
次の例は、 `REGEXP``SELECT`句に限定されないことを示しています。例えば、クエリの`WHERE`句でも使用できます。

```sql
SELECT
Expand Down Expand Up @@ -2071,7 +2071,7 @@ SELECT n, REPEAT('x',n) FROM nr;
20 rows in set (0.01 sec)
```

次の例は、 `REPEAT()`複数の文字で構成される文字列に対して操作できることを示しています
次の例は、 `REPEAT()`が複数の文字で構成される文字列に対して操作できることを示しています

```sql
SELECT REPEAT('ha',3);
Expand Down
6 changes: 3 additions & 3 deletions partitioned-table.md
Original file line number Diff line number Diff line change
Expand Up @@ -1108,9 +1108,9 @@ ALTER TABLE example TRUNCATE PARTITION p0;
Query OK, 0 rows affected (0.03 sec)
```

### パーティションテーブルをパーティションテーブルに変換する {#convert-a-partitioned-table-to-a-non-partitioned-table}
### パーティションテーブルを非パーティションテーブルに変換する {#convert-a-partitioned-table-to-a-non-partitioned-table}

パーティションテーブルをパーティションテーブルに変換するには、次のステートメントを使用できます。このステートメントは、パーティション化を削除し、テーブルのすべての行をコピーし、テーブルのインデックスをオンラインで再作成します。
パーティションテーブルを非パーティションテーブルに変換するには、次のステートメントを使用できます。このステートメントは、パーティション化を削除し、テーブルのすべての行をコピーし、テーブルのインデックスをオンラインで再作成します。

```sql
ALTER TABLE <table_name> REMOVE PARTITIONING
Expand Down Expand Up @@ -1753,7 +1753,7 @@ show stats_meta where table_name like "t";
3 rows in set (0.01 sec)
```

グローバルな`dynamic`プルーニングモードを有効にした後、SQLステートメントで使用される統計情報が正しいことを確認するには、テーブルまたはテーブルのパーティションで`analyze`手動でトリガーして、グローバル統計情報を取得する必要があります。
グローバルな`dynamic`プルーニングモードを有効にした後、SQLステートメントで使用される統計情報が正しいことを確認するには、テーブルまたはテーブルのパーティションで`analyze`を手動でトリガーして、グローバル統計情報を取得する必要があります。

```sql
analyze table t partition p1;
Expand Down
8 changes: 4 additions & 4 deletions performance-tuning-methods.md
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,7 @@ TiDBは、SQL処理パスとデータベース時間を継続的に測定・収

- QPS: Query Per Second(1秒あたりのクエリ数)の略。アプリケーションによって実行されたSQL文の数を示します。
- CPSタイプ別:Command Per Secondの略。コマンドはMySQLプロトコル固有のコマンドを示します。クエリ文は、クエリコマンドまたはプリペアドステートメントのいずれかによってTiDBに送信できます。
- プラン キャッシュ OPS を使用するクエリ: `avg-hit` 、TiDB クラスターで 1 秒あたりに実行計画 キャッシュを使用するクエリの数であり、 `avg-miss` 、TiDB クラスターで 1 秒あたりに実行計画 キャッシュを使用しないクエリの数です。
- Queries Using Plan Cache OPS: `avg-hit` 、TiDB クラスターで 1 秒あたりに実行計画 キャッシュを使用するクエリの数であり、 `avg-miss` 、TiDB クラスターで 1 秒あたりに実行計画 キャッシュを使用しないクエリの数です。

`avg-hit + avg-miss`は`StmtExecute`に等しく、これは1秒あたりに実行される全クエリ数です。TiDBでプリペアドプランキャッシュを有効にすると、以下の3つのシナリオが発生します。

Expand All @@ -170,14 +170,14 @@ TPC-C ワークロードは主に`UPDATE` 、 `SELECT` 、 `INSERT`文です。

- QPSパネルの赤い太線は失敗したクエリを表し、右側のY軸は失敗したクエリの数を示しています。0以外の値は、失敗したクエリが存在することを意味します。
- 合計 QPS は、CPS By Type パネルのクエリの数と等しく、クエリ コマンドがアプリケーションによって使用されています。
- プランキャッシュを使用するクエリOPSパネルにはデータが表示されません。これは、クエリコマンドでプリペアドプランキャッシュが利用できないためです。つまり、TiDBはクエリ実行ごとに実行計画を解析して生成する必要があります。その結果、TiDBによるCPU消費量の増加に伴い、コンパイル時間が長くなります。
- Queries Using Plan Cache OPSパネルにはデータが表示されません。これは、クエリコマンドでプリペアドプランキャッシュが利用できないためです。つまり、TiDBはクエリ実行ごとに実行計画を解析して生成する必要があります。その結果、TiDBによるCPU消費量の増加に伴い、コンパイル時間が長くなります。

**例3: OLTPワークロードに対してプリペアドステートメントが有効になっている場合、プリペアドプランキャッシュは利用できません**

`StmtPrepare`回 = `StmtExecute`回 = `StmtClose`回 ~= `StmtFetch`回。アプリケーションは準備 &gt; 実行 &gt; フェッチ &gt; クローズのループを使用します。プリペアドステートメントオブジェクトのリークを防ぐため、多くのアプリケーションフレームワークは`execute`フェーズの後に`close`を呼び出します。これにより、2つの問題が発生します。

- SQL 実行には 4 つのコマンドと 4 回のネットワーク ラウンドトリップが必要です。
- プランキャッシュを使用するクエリのOPSは0で、プリペアドプランキャッシュのヒットがゼロであることを示しています。`StmtClose`のコマンドはデフォルトでキャッシュされた実行計画をクリアし、次の`StmtPrepare`コマンドで実行計画を再度生成する必要があります。
- Queries Using Plan Cache OPSは0で、プリペアドプランキャッシュのヒットがゼロであることを示しています。`StmtClose`のコマンドはデフォルトでキャッシュされた実行計画をクリアし、次の`StmtPrepare`コマンドで実行計画を再度生成する必要があります。

> **Note:**
>
Expand All @@ -193,7 +193,7 @@ TPC-C ワークロードは主に`UPDATE` 、 `SELECT` 、 `INSERT`文です。

- QPSパネルでは、赤い太線が失敗したクエリの数を示し、右側のY軸がその数値の座標値を示しています。この例では、1秒あたりの失敗したクエリの数は74.6です。
- CPS By Type パネルでは、1 秒あたり`StmtPrepare`コマンドの数が 1 秒あたり`StmtClose`コマンドの数よりはるかに多く、プリペアドステートメントのアプリケーションでオブジェクト リークが発生していることを示しています。
- プラン キャッシュを使用したクエリ OPS パネルでは、 `avg-miss`タイプ別 CPS パネルの`StmtExecute`とほぼ等しく、ほとんどすべての SQL 実行で実行計画 キャッシュが失われていることを示しています。
- Queries Using Plan Cache OPS パネルでは、 `avg-miss`がタイプ別 CPS パネルの`StmtExecute`とほぼ等しく、ほとんどすべての SQL 実行で実行計画 キャッシュが失われていることを示しています。

#### KV/TSO 要求 OPS とソース別の KV 要求時間 {#kv-tso-request-ops-and-kv-request-time-by-source}

Expand Down
2 changes: 1 addition & 1 deletion performance-tuning-overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ summary: このドキュメントでは、ユーザー応答時間、スルー
ユーザー応答時間は、サービス時間、キュー時間、およびユーザー要求を完了するための同時待機時間で構成されます。

```
User Response time = Service time + Queuing delay + Coherency delay
ユーザー応答時間 = サービス時間 + キュー時間 + 同時待機時間
```

- サービス時間: リクエストを処理するときにシステムが特定のリソースに消費する時間。たとえば、データベースが SQL リクエストを完了するために消費する CPU 時間など。
Expand Down
Loading