diff --git a/br/br-snapshot-manual.md b/br/br-snapshot-manual.md index 10b3e6c4abcb9..20b818db5a3f2 100644 --- a/br/br-snapshot-manual.md +++ b/br/br-snapshot-manual.md @@ -269,7 +269,7 @@ tiup br restore full \ ### `mysql`スキーマから実行プランバインディングを復元する {#restore-execution-plan-bindings-from-the-mysql-schema} -クラスターの実行計画 バインディングを復元するには、 `--with-sys-table`オプションと、復元する`mysql`スキーマを指定する`--filter`または`-f`オプションを含む`tiup br restore full`コマンドを実行します。 +クラスターの実行プランバインディングを復元するには、 `--with-sys-table`オプションと、復元する`mysql`スキーマを指定する`--filter`または`-f`オプションを含む`tiup br restore full`コマンドを実行します。 以下は`mysql.bind_info`テーブルを復元する例です。 diff --git a/develop/dev-guide-use-subqueries.md b/develop/dev-guide-use-subqueries.md index 9ace9aecf4de0..464908e2b7ada 100644 --- a/develop/dev-guide-use-subqueries.md +++ b/develop/dev-guide-use-subqueries.md @@ -32,7 +32,7 @@ aliases: ['/ja/tidb/stable/dev-guide-use-subqueries/','/ja/tidbcloud/dev-guide-u ### 自己完結型サブクエリ {#self-contained-subquery} -サブクエリを比較演算子 ( `>` 、 `>=` 、 `<` 、 `<=` 、 `=` 、または`! =` ) のオペランドとして使用する自己完結型サブクエリの場合、内部サブクエリは 1回だけクエリを実行し、実行計画 フェーズで TiDB によって定数として書き換えられます。 +サブクエリを比較演算子 ( `>` 、 `>=` 、 `<` 、 `<=` 、 `=` 、または`! =` ) のオペランドとして使用する自己完結型サブクエリの場合、内部サブクエリは 1回だけクエリを実行し、実行計画フェーズで TiDB によって定数として書き換えられます。 たとえば、年齢が平均年齢より大きい`authors`のテーブル内の著者を照会するには、サブクエリを比較演算子のオペランドとして使用できます。 @@ -86,7 +86,7 @@ WHERE (IFNULL(a1.death_year, YEAR(NOW())) - a1.birth_year) > 34; 相関サブクエリの場合、内部サブクエリは外部クエリの列を参照するため、各サブクエリは外部クエリの各行に対して1回ずつ実行されます。つまり、外部クエリが1,000万件の結果を取得すると仮定すると、サブクエリも1,000万回実行され、より多くの時間とリソースを消費することになります。 -したがって、処理の過程で、TiDB は実行計画 レベルでクエリ効率[相関サブクエリの非相関](/correlated-subquery-optimization.md)向上させるように努めます。 +したがって、処理の過程で、TiDB は実行計画レベルでのクエリ効率を向上させるために、[相関サブクエリの非相関](/correlated-subquery-optimization.md)を試みます。 次の文は、同じ性別の他の著者の平均年齢よりも年上の著者を問い合わせるためのものです。 diff --git a/releases/release-3.0-ga.md b/releases/release-3.0-ga.md index 635de56f5e239..7fcda4c36da1f 100644 --- a/releases/release-3.0-ga.md +++ b/releases/release-3.0-ga.md @@ -29,7 +29,7 @@ TiDB Ansible バージョン: 3.0.0 - 範囲パーティションをサポート - ハッシュパーティションをサポート - IP ホワイトリスト (**Enterprise**) や監査ログ (**Enterprise**) などのプラグインをサポートするプラグインフレームワークを追加します。 - - クエリの安定性を確保するために SQL 実行計画 バインディングを作成する SQL プラン管理機能をサポートします (**Experimental**) + - クエリの安定性を確保するために SQL 実行プランバインディングを作成する SQL プラン管理機能をサポートします (**Experimental**) - SQLオプティマイザ - `NOT EXISTS`サブクエリを最適化し、 `Anti Semi Join`に変換してパフォーマンスを向上させます - `Outer Join`の定数伝播を最適化し、 `Outer Join`除去の最適化ルールを追加して、効果のない計算を減らし、パフォーマンスを向上させます。 diff --git a/releases/release-6.5.12.md b/releases/release-6.5.12.md index baaef20833201..b25f023d60084 100644 --- a/releases/release-6.5.12.md +++ b/releases/release-6.5.12.md @@ -66,7 +66,7 @@ TiDBバージョン: 6.5.12 - `IndexLookUp`オペレーターのメモリの一部が追跡されない問題を修正 [#56440](https://github.com/pingcap/tidb/issues/56440) @[wshwsh12](https://github.com/wshwsh12) - TiDBの内部コルーチンで発生する可能性のあるデータ競合問題を修正しました [#56053](https://github.com/pingcap/tidb/issues/56053) @[fishiu](https://github.com/fishiu) [#57798](https://github.com/pingcap/tidb/issues/57798) @[tiancaiamao](https://github.com/tiancaiamao) - クエリに利用可能なインデックスマージ実行計画がある場合に`read_from_storage`ヒントが有効にならない可能性がある問題を修正しました [#56217](https://github.com/pingcap/tidb/issues/56217) @[AilinKid](https://github.com/AilinKid) - - エイリアスを持つマルチテーブル`DELETE`文に対して実行計画 バインディングを作成できない問題を修正しました。 [#56726](https://github.com/pingcap/tidb/issues/56726) @[hawkingrei](https://github.com/hawkingrei) + - エイリアスを持つマルチテーブル`DELETE`文に対して実行プランバインディングを作成できない問題を修正しました。 [#56726](https://github.com/pingcap/tidb/issues/56726) @[hawkingrei](https://github.com/hawkingrei) - 異常終了時に`INDEX_HASH_JOIN`がハングアップする可能性がある問題を修正しました [#54055](https://github.com/pingcap/tidb/issues/54055) @[wshwsh12](https://github.com/wshwsh12) - 2人のDDL所有者が同時に存在する可能性がある問題を修正[#54689](https://github.com/pingcap/tidb/issues/54689) @[joccau](https://github.com/joccau) - `information_schema.cluster_slow_query`テーブルをクエリするときに、時間フィルターが追加されていない場合、最新のスローログファイルのみがクエリされる問題を修正しました[#56100](https://github.com/pingcap/tidb/issues/56100) @[crazycs520](https://github.com/crazycs520) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index f45b6e6f120a7..774d5cfe80fc8 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -15,7 +15,7 @@ TiDB 7.5.0は長期サポートリリース(LTS)です。 以前の LTS 7.1.0 と比較して、7.5.0 には[7.2.0-DMR](/releases/release-7.2.0.md) 、 [7.3.0-DMR](/releases/release-7.3.0.md) 、および[7.4.0-DMR](/releases/release-7.4.0.md)でリリースされた新機能、改善点、およびバグ修正が含まれています。7.1.x から 7.5.0 にアップグレードすると、 [TiDB リリースノート PDF](https://docs-download.pingcap.com/pdf/tidb-v7.2-to-v7.5-en-release-notes.pdf)をダウンロードして、2つの LTS バージョン間のすべてのリリースノートを確認できます。次の表は、7.2.0 から 7.5.0 までのハイライトの一部を示しています。 -
カテゴリ特徴説明
拡張性とパフォーマンス複数のADD INDEXステートメントを並列実行することをサポートするこの機能により、単一のテーブルに対して複数のインデックスを同時に追加するジョブを実行できます。従来は、2つのADD INDEXステートメント(XとY )を同時に実行するには、Xの実行時間とYの実行時間を合わせた時間が必要でした。この機能により、1つのSQLで2つのインデックスXとYを同時に追加できるため、DDLの実行時間が大幅に短縮されます。特に、テーブルサイズが大きいシナリオでは、社内テストデータによると、パフォーマンスが最大94%向上することが示されています。
信頼性と可用性グローバルソートの最適化(実験的、v7.4.0で導入) TiDB v7.1.0 では 、分散実行フレームワーク (DXF)が導入されました。v7.4 では、このフレームワークを活用するタスク向けにグローバルソートが導入され、データ再編成タスク中に一時的にデータが順不同になることで発生する不要な I/O、CPU、およびメモリの急増を解消します。グローバルソートは、外部共有オブジェクトストレージ(この最初のバージョンでは Amazon S3) を利用してジョブ実行中に中間ファイルを保存することで、柔軟性とコスト削減を実現します。ADD ADD INDEXIMPORT INTOなどの操作は、より高速で、より堅牢で、より安定し、より柔軟になり、実行コストも削減されます。
バックグラウンドタスクのリソース制御(実験的、v7.4.0で導入)バージョン7.1.0では、ワークロード間のリソースおよびストレージアクセス干渉を軽減するために、リソース制御機能が導入されました。TiDB v7.4.0では、この制御がバックグラウンドタスクの優先度にも適用されるようになりました。v7.4.0では、リソース制御により、自動分析、バックアップと復元、 TiDB Lightningによる一括ロード、オンラインDDLなどのバックグラウンドタスクの実行優先度が識別され、管理されるようになりました。今後のリリースでは、この制御は最終的にすべてのバックグラウンドタスクに適用される予定です。
暴走クエリを管理するためのリソース制御(実験的、v7.2.0で導入)リソース制御は、リソースグループごとにワークロードをリソース分離するためのフレームワークですが、各グループ内の個々のクエリが作業にどのように影響するかについては何も規定していません。TiDB v7.2.0 では、「暴走クエリ制御」が導入され、リソースグループごとに TiDB がこれらのクエリをどのように識別して処理するかを制御できるようになりました。必要に応じて、実行時間の長いクエリを終了または制限することができ、クエリは、より汎用性を高めるために、正確な SQL テキスト、SQL ダイジェスト、または実行計画 ダイジェストで識別できます。v7.3.0 では、データベースレベルの SQL ブロックリストと同様に、既知の不正なクエリを事前に監視できるようになりました。
SQL MySQL 8.0との互換性(バージョン7.4.0で導入) MySQL 8.0 では、デフォルトの文字セットは utf8mb4 であり、utf8mb4 のデフォルトの照合照合順序はutf8mb4_0900_ai_ciです。TiDB v7.4.0 でこのサポートが追加されたことで、MySQL 8.0 との互換性が向上し、デフォルトの照合順序を持つ MySQL 8.0 データベースからの移行やレプリケーションがはるかにスムーズになりました。
データベースの運用と可観測性TiDB Lightningの物理インポートモードがIMPORT INTO (GA)でTiDBに統合されましたバージョン7.2.0より前は、ファイルシステムに基づいてデータをインポートするには、 TiDB Lightningをインストールし、その物理インポートモードを使用する必要がありました。現在では、同じ機能がIMPORT INTOステートメントに統合されているため、追加のツールをインストールすることなく、このステートメントを使用してデータを迅速にインポートできます。このステートメントは、並列インポート用の 分散実行フレームワーク(DXF)もサポートしており、大規模なインポート時のインポート効率が向上します。
ADD INDEXおよびIMPORT INTO SQL文を実行するTiDBノードを指定します(GA)。既存のTiDBノードの一部、または新しく追加されたTiDBノードでADD INDEXまたはIMPORT INTO SQL文を実行するかどうかを柔軟に指定できます。このアプローチにより、他のTiDBノードからリソースを分離できるため、業務への影響を防ぎながら、前述のSQL文の実行において最適なパフォーマンスを確保できます。この機能は、バージョン7.5.0で一般提供(GA)されます。
DDLは一時停止および再開操作をサポートします(一般提供)。インデックスの追加は大量のリソースを消費し、オンラインのトラフィックに影響を与える可能性があります。リソースグループでスロットリングしたり、ラベル付きノードに隔離したりした場合でも、緊急時にはこれらのジョブを一時停止する必要が生じる場合があります。TiDBはバージョン7.2.0以降、これらのバックグラウンドジョブを一度にいくつでも一時停止できる機能をネイティブにサポートしており、ジョブのキャンセルと再起動を回避しながら必要なリソースを解放できます。
TiDB DashboardはTiKVのヒーププロファイリングをサポートしています従来、TiKVのメモリ不足(OOM)やメモリ使用量過多の問題に対処するには、インスタンス環境でjeprofを手動で実行してヒーププロファイルを生成する必要がありました。v7.5.0以降、TiKVはヒーププロファイルのリモート処理に対応しました。これにより、ヒーププロファイルのフレームグラフとコールグラフに直接アクセスできるようになりました。この機能は、Goのヒーププロファイリングと同様に、シンプルで使いやすい操作性を提供します。
+
カテゴリ特徴説明
拡張性とパフォーマンス複数のADD INDEXステートメントを並列実行することをサポートするこの機能により、単一のテーブルに対して複数のインデックスを同時に追加するジョブを実行できます。従来は、2つのADD INDEXステートメント(XとY )を同時に実行するには、Xの実行時間とYの実行時間を合わせた時間が必要でした。この機能により、1つのSQLで2つのインデックスXとYを同時に追加できるため、DDLの実行時間が大幅に短縮されます。特に、テーブルサイズが大きいシナリオでは、社内テストデータによると、パフォーマンスが最大94%向上することが示されています。
信頼性と可用性グローバルソートの最適化(実験的、v7.4.0で導入) TiDB v7.1.0 では 、分散実行フレームワーク (DXF)が導入されました。v7.4 では、このフレームワークを活用するタスク向けにグローバルソートが導入され、データ再編成タスク中に一時的にデータが順不同になることで発生する不要な I/O、CPU、およびメモリの急増を解消します。グローバルソートは、外部共有オブジェクトストレージ(この最初のバージョンでは Amazon S3) を利用してジョブ実行中に中間ファイルを保存することで、柔軟性とコスト削減を実現します。ADD ADD INDEXIMPORT INTOなどの操作は、より高速で、より堅牢で、より安定し、より柔軟になり、実行コストも削減されます。
バックグラウンドタスクのリソース制御(実験的、v7.4.0で導入)バージョン7.1.0では、ワークロード間のリソースおよびストレージアクセス干渉を軽減するために、リソース制御機能が導入されました。TiDB v7.4.0では、この制御がバックグラウンドタスクの優先度にも適用されるようになりました。v7.4.0では、リソース制御により、自動分析、バックアップと復元、 TiDB Lightningによる一括ロード、オンラインDDLなどのバックグラウンドタスクの実行優先度が識別され、管理されるようになりました。今後のリリースでは、この制御は最終的にすべてのバックグラウンドタスクに適用される予定です。
暴走クエリを管理するためのリソース制御(実験的、v7.2.0で導入)リソース制御は、リソースグループごとにワークロードをリソース分離するためのフレームワークですが、各グループ内の個々のクエリが作業にどのように影響するかについては何も規定していません。TiDB v7.2.0 では、「暴走クエリ制御」が導入され、リソースグループごとに TiDB がこれらのクエリをどのように識別して処理するかを制御できるようになりました。必要に応じて、実行時間の長いクエリを終了または制限することができ、クエリは、より汎用性を高めるために、正確な SQL テキスト、SQL ダイジェスト、または実行計画ダイジェストで識別できます。v7.3.0 では、データベースレベルの SQL ブロックリストと同様に、既知の不正なクエリを事前に監視できるようになりました。
SQL MySQL 8.0との互換性(バージョン7.4.0で導入) MySQL 8.0 では、デフォルトの文字セットは utf8mb4 であり、utf8mb4 のデフォルトの照合照合順序はutf8mb4_0900_ai_ciです。TiDB v7.4.0 でこのサポートが追加されたことで、MySQL 8.0 との互換性が向上し、デフォルトの照合順序を持つ MySQL 8.0 データベースからの移行やレプリケーションがはるかにスムーズになりました。
データベースの運用と可観測性TiDB Lightningの物理インポートモードがIMPORT INTO (GA)でTiDBに統合されましたバージョン7.2.0より前は、ファイルシステムに基づいてデータをインポートするには、 TiDB Lightningをインストールし、その物理インポートモードを使用する必要がありました。現在では、同じ機能がIMPORT INTOステートメントに統合されているため、追加のツールをインストールすることなく、このステートメントを使用してデータを迅速にインポートできます。このステートメントは、並列インポート用の 分散実行フレームワーク(DXF)もサポートしており、大規模なインポート時のインポート効率が向上します。
ADD INDEXおよびIMPORT INTO SQL文を実行するTiDBノードを指定します(GA)。既存のTiDBノードの一部、または新しく追加されたTiDBノードでADD INDEXまたはIMPORT INTO SQL文を実行するかどうかを柔軟に指定できます。このアプローチにより、他のTiDBノードからリソースを分離できるため、業務への影響を防ぎながら、前述のSQL文の実行において最適なパフォーマンスを確保できます。この機能は、バージョン7.5.0で一般提供(GA)されます。
DDLは一時停止および再開操作をサポートします(一般提供)。インデックスの追加は大量のリソースを消費し、オンラインのトラフィックに影響を与える可能性があります。リソースグループでスロットリングしたり、ラベル付きノードに隔離したりした場合でも、緊急時にはこれらのジョブを一時停止する必要が生じる場合があります。TiDBはバージョン7.2.0以降、これらのバックグラウンドジョブを一度にいくつでも一時停止できる機能をネイティブにサポートしており、ジョブのキャンセルと再起動を回避しながら必要なリソースを解放できます。
TiDB DashboardはTiKVのヒーププロファイリングをサポートしています従来、TiKVのメモリ不足(OOM)やメモリ使用量過多の問題に対処するには、インスタンス環境でjeprofを手動で実行してヒーププロファイルを生成する必要がありました。v7.5.0以降、TiKVはヒーププロファイルのリモート処理に対応しました。これにより、ヒーププロファイルのフレームグラフとコールグラフに直接アクセスできるようになりました。この機能は、Goのヒーププロファイリングと同様に、シンプルで使いやすい操作性を提供します。
## 機能の詳細 {#feature-details} diff --git a/releases/release-7.5.5.md b/releases/release-7.5.5.md index e59bfe012de5e..9565f6b1708bb 100644 --- a/releases/release-7.5.5.md +++ b/releases/release-7.5.5.md @@ -61,7 +61,7 @@ TiDB バージョン: 7.5.5 - ストレージエンジンとしてTiKVが選択されていない場合にTTLが失敗する可能性がある問題を修正 [#56402](https://github.com/pingcap/tidb/issues/56402) @[YangKeao](https://github.com/YangKeao) - `ADD INDEX` を実行するときに TiDB がインデックスの長さ制限をチェックしない問題を修正しました [#56930](https://github.com/pingcap/tidb/issues/56930) @[fzzf678](https://github.com/fzzf678) - TTLタスクをキャンセルした際に、対応するSQLが強制終了されない問題を修正[#56511](https://github.com/pingcap/tidb/issues/56511) @[lcwangchao](https://github.com/lcwangchao) - - エイリアスを持つマルチテーブル`DELETE`文に対して実行計画 バインディングを作成できない問題を修正しました。 [#56726](https://github.com/pingcap/tidb/issues/56726) @[hawkingrei](https://github.com/hawkingrei) + - エイリアスを持つマルチテーブル`DELETE`文に対して実行プランバインディングを作成できない問題を修正しました。 [#56726](https://github.com/pingcap/tidb/issues/56726) @[hawkingrei](https://github.com/hawkingrei) - `ANALYZE`を使用してテーブルの統計情報を収集するときに、テーブルに仮想生成列の式インデックスが含まれていると、実行時にエラーが報告される問題を修正しました。 [#57079](https://github.com/pingcap/tidb/issues/57079) @[hawkingrei](https://github.com/hawkingrei) - 配置ルールを含むテーブル構造をインポートするときに Plan Replayer がエラーを報告する可能性がある問題を修正しました。 [#54961](https://github.com/pingcap/tidb/issues/54961) @[hawkingrei](https://github.com/hawkingrei) - CTE でデータベース名を解析するときに間違ったデータベース名が返される問題を修正しました [#54582](https://github.com/pingcap/tidb/issues/54582) @[hawkingrei](https://github.com/hawkingrei) diff --git a/releases/release-8.1.0.md b/releases/release-8.1.0.md index 2c85ed2068084..9f170c09cba62 100644 --- a/releases/release-8.1.0.md +++ b/releases/release-8.1.0.md @@ -133,7 +133,7 @@ TiDB 8.1.0 は長期サポートリリース (LTS) です。 - `ADMIN SHOW TELEMETRY`構文は削除されます。 - キーワード`TELEMETRY`と`TELEMETRY_ID`は削除されます。 -- 以降のリリースでは[実行計画バインディングの自動進化](/sql-plan-management.md#baseline-evolution)再設計する予定であり、関連する変数と動作が変更されます。 +- 以降のリリースでは[実行プランバインディングの自動進化](/sql-plan-management.md#baseline-evolution)を再設計する予定であり、関連する変数と動作が変更されます。 - TiDB Lightningパラメータ[`conflict.max-record-rows`](/tidb-lightning/tidb-lightning-configuration.md#tidb-lightning-task)将来のリリースで廃止される予定であり、その後削除されます。このパラメータは`conflict.threshold`に置き換えられます。これは、競合レコードの最大数が、単一のインポートタスクで許容される競合レコードの最大数と一致することを意味します。 diff --git a/releases/release-8.1.2.md b/releases/release-8.1.2.md index 3cfbad851b191..3d562aa5ee167 100644 --- a/releases/release-8.1.2.md +++ b/releases/release-8.1.2.md @@ -61,7 +61,7 @@ TiDB バージョン: 8.1.2 - 特定の状況下でプランキャッシュを使用する際に、メタデータロックの不適切な使用によって異常なデータが書き込まれる可能性がある問題を修正しました[#53634](https://github.com/pingcap/tidb/issues/53634) @[zimulala](https://github.com/zimulala) - グローバルソートが有効でリージョンサイズが96 MiB を超えると`IMPORT INTO`実行が停止する問題を修正 [#55374](https://github.com/pingcap/tidb/issues/55374) @[lance6716](https://github.com/lance6716) - `DUMP STATS`統計を JSON に変換するときにヒストグラムの上限と下限が壊れる問題を修正 [#56083](https://github.com/pingcap/tidb/issues/56083) @[hawkingrei](https://github.com/hawkingrei) - - エイリアスを持つマルチテーブル`DELETE`文に対して実行計画 バインディングを作成できない問題を修正しました。 [#56726](https://github.com/pingcap/tidb/issues/56726) @[hawkingrei](https://github.com/hawkingrei) + - エイリアスを持つマルチテーブル`DELETE`文に対して実行プランバインディングを作成できない問題を修正しました。 [#56726](https://github.com/pingcap/tidb/issues/56726) @[hawkingrei](https://github.com/hawkingrei) - TTLテーブルのメモリリークの問題を修正 [#56934](https://github.com/pingcap/tidb/issues/56934) @[lcwangchao](https://github.com/lcwangchao) - パーティション式が`EXTRACT(YEAR FROM col)` の場合にパーティションプルーニングが機能しない問題を修正しました [#54210](https://github.com/pingcap/tidb/issues/54210) @[mjonss](https://github.com/mjonss) - 配置ルールを含むテーブル構造をインポートするときに Plan Replayer がエラーを報告する可能性がある問題を修正しました。 [#54961](https://github.com/pingcap/tidb/issues/54961) @[hawkingrei](https://github.com/hawkingrei) diff --git a/sql-statements/sql-statement-create-binding.md b/sql-statements/sql-statement-create-binding.md index 2617a999e8318..85816cdd05f97 100644 --- a/sql-statements/sql-statement-create-binding.md +++ b/sql-statements/sql-statement-create-binding.md @@ -5,7 +5,7 @@ summary: TiDB データベースでの CREATE BINDING の使用。 # CREATE [GLOBAL|SESSION] BINDING {#create-global-session-binding} -このステートメントは、TiDB に新しい実行計画 バインディングを作成します。バインディングを使用すると、基になるクエリを変更することなく、ステートメントにヒントを挿入できます。 +このステートメントは、TiDB に新しい実行プランバインディングを作成します。バインディングを使用すると、基になるクエリを変更することなく、ステートメントにヒントを挿入できます。 `BINDING` `GLOBAL`または`SESSION`基準で表されます。デフォルトは`SESSION`です。