- ドキュメント ホーム
- TiDBについて
- クイックスタート
- 発展させる
- 概要
- クイックスタート
- TiDB Cloud(開発者層) で TiDB クラスターを構築する
- TiDB の CRUD SQL
- TiDB でシンプルな CRUD アプリを構築する
- 応用例
- TiDB に接続する
- データベース スキーマの設計
- 書き込みデータ
- データの読み取り
- 取引
- 最適化
- トラブルシューティング
- 参照
- 書店のサンプル アプリケーション
- ガイドライン
- アーカイブされたドキュメント
- クラウドネイティブ開発環境
- サードパーティのサポート
- デプロイ
- 移行する
- 管理
- 監視と警告
- トラブルシューティング
- TiDB トラブルシューティング マップ
- 遅いクエリを特定する
- 遅いクエリを分析する
- SQL 診断
- Top SQLを使用して高価なクエリを特定する
- ログを使用して高価なクエリを特定する
- ステートメント要約表
- ホットスポットの問題のトラブルシューティング
- 増加した読み取りおよび書き込み遅延のトラブルシューティング
- クラスターのオンサイト情報の保存と復元
- クラスタ セットアップのトラブルシューティング
- 高いディスク I/O 使用率のトラブルシューティング
- ロック競合のトラブルシューティング
- TiFlash のトラブルシューティング
- オプティミスティック トランザクションでの書き込み競合のトラブルシューティング
- データとインデックス間の不一致のトラブルシューティング
- 性能チューニング
- チューニングガイド
- Configuration / コンフィグレーションのチューニング
- システムのチューニング
- ソフトウェアのチューニング
- Configuration / コンフィグレーション
- コプロセッサ キャッシュ
- SQL チューニング
- チュートリアル
- TiDB ツール
- 概要
- ユースケース
- ダウンロード
- TiUP
- ドキュメンテーション マップ
- 概要
- 用語と概念
- TiUP コンポーネントの管理
- FAQ
- トラブルシューティングガイド
- コマンドリファレンス
- 概要
- TiUP コマンド
- TiUP クラスタ コマンド
- 概要
- tiup cluster audit
- tiup cluster check
- tiup cluster clean
- tiup cluster deploy
- tiup cluster destroy
- tiup cluster disable
- tiup cluster display
- tiup cluster edit-config
- tiup cluster enable
- tiup cluster help
- tiup cluster import
- tiup cluster list
- tiup cluster patch
- tiup cluster prune
- tiup cluster reload
- tiup cluster rename
- tiup cluster replay
- tiup cluster restart
- tiup cluster scale-in
- tiup cluster scale-out
- tiup cluster start
- tiup cluster stop
- tiup cluster template
- tiup cluster upgrade
- TiUP DMコマンド
- TiDB クラスター トポロジ リファレンス
- DM クラスタ トポロジ リファレンス
- ミラー リファレンス ガイド
- TiUP コンポーネント
- PingCAPクリニック診断サービス
- TiDB Operator
- Dumpling
- TiDB Lightning
- TiDB データ移行
- バックアップと復元 (BR)
- Binlog
- TiCDC
- Dumpling
- 同期差分インスペクター
- ティスパーク
- 参照
- クラスタ アーキテクチャ
- 主な監視指標
- セキュリティ
- 権限
- SQL
- SQL 言語の構造と構文
- SQL ステートメント
ADD COLUMN
ADD INDEX
ADMIN
ADMIN CANCEL DDL
ADMIN CHECKSUM TABLE
ADMIN CHECK [TABLE|INDEX]
ADMIN SHOW DDL [JOBS|QUERIES]
ADMIN SHOW TELEMETRY
ALTER DATABASE
ALTER INDEX
ALTER INSTANCE
ALTER PLACEMENT POLICY
ALTER TABLE
ALTER TABLE COMPACT
ALTER USER
ANALYZE TABLE
BACKUP
BATCH
BEGIN
CHANGE COLUMN
COMMIT
CHANGE DRAINER
CHANGE PUMP
CREATE [GLOBAL|SESSION] BINDING
CREATE DATABASE
CREATE INDEX
CREATE PLACEMENT POLICY
CREATE ROLE
CREATE SEQUENCE
CREATE TABLE LIKE
CREATE TABLE
CREATE USER
CREATE VIEW
DEALLOCATE
DELETE
DESC
DESCRIBE
DO
DROP [GLOBAL|SESSION] BINDING
DROP COLUMN
DROP DATABASE
DROP INDEX
DROP PLACEMENT POLICY
DROP ROLE
DROP SEQUENCE
DROP STATS
DROP TABLE
DROP USER
DROP VIEW
EXECUTE
EXPLAIN ANALYZE
EXPLAIN
FLASHBACK TABLE
FLUSH PRIVILEGES
FLUSH STATUS
FLUSH TABLES
GRANT <privileges>
GRANT <role>
INSERT
KILL [TIDB]
LOAD DATA
LOAD STATS
MODIFY COLUMN
PREPARE
RECOVER TABLE
RENAME INDEX
RENAME TABLE
REPLACE
RESTORE
REVOKE <privileges>
REVOKE <role>
ROLLBACK
SELECT
SET DEFAULT ROLE
SET [NAMES|CHARACTER SET]
SET PASSWORD
SET ROLE
SET TRANSACTION
SET [GLOBAL|SESSION] <variable>
SHOW ANALYZE STATUS
SHOW [BACKUPS|RESTORES]
SHOW [GLOBAL|SESSION] BINDINGS
SHOW BUILTINS
SHOW CHARACTER SET
SHOW COLLATION
SHOW [FULL] COLUMNS FROM
SHOW CONFIG
SHOW CREATE PLACEMENT POLICY
SHOW CREATE SEQUENCE
SHOW CREATE TABLE
SHOW CREATE USER
SHOW DATABASES
SHOW DRAINER STATUS
SHOW ENGINES
SHOW ERRORS
SHOW [FULL] FIELDS FROM
SHOW GRANTS
SHOW INDEX [FROM|IN]
SHOW INDEXES [FROM|IN]
SHOW KEYS [FROM|IN]
SHOW MASTER STATUS
SHOW PLACEMENT
SHOW PLACEMENT FOR
SHOW PLACEMENT LABELS
SHOW PLUGINS
SHOW PRIVILEGES
SHOW [FULL] PROCESSSLIST
SHOW PROFILES
SHOW PUMP STATUS
SHOW SCHEMAS
SHOW STATS_HEALTHY
SHOW STATS_HISTOGRAMS
SHOW STATS_META
SHOW STATUS
SHOW TABLE NEXT_ROW_ID
SHOW TABLE REGIONS
SHOW TABLE STATUS
SHOW [FULL] TABLES
SHOW [GLOBAL|SESSION] VARIABLES
SHOW WARNINGS
SHUTDOWN
SPLIT REGION
START TRANSACTION
TABLE
TRACE
TRUNCATE
UPDATE
USE
WITH
- データ型
- 関数と演算子
- クラスタ化インデックス
- 制約
- 生成された列
- SQL モード
- テーブル属性
- 取引
- ガベージ コレクション (GC)
- ビュー
- パーティショニング
- 一時テーブル
- キャッシュされたテーブル
- 文字セットと照合順序
- SQL の配置規則
- システム テーブル
mysql
- 情報_スキーマ
- 概要
ANALYZE_STATUS
CLIENT_ERRORS_SUMMARY_BY_HOST
CLIENT_ERRORS_SUMMARY_BY_USER
CLIENT_ERRORS_SUMMARY_GLOBAL
CHARACTER_SETS
CLUSTER_CONFIG
CLUSTER_HARDWARE
CLUSTER_INFO
CLUSTER_LOAD
CLUSTER_LOG
CLUSTER_SYSTEMINFO
COLLATIONS
COLLATION_CHARACTER_SET_APPLICABILITY
COLUMNS
DATA_LOCK_WAITS
DDL_JOBS
DEADLOCKS
ENGINES
INSPECTION_RESULT
INSPECTION_RULES
INSPECTION_SUMMARY
KEY_COLUMN_USAGE
METRICS_SUMMARY
METRICS_TABLES
PARTITIONS
PLACEMENT_POLICIES
PROCESSLIST
REFERENTIAL_CONSTRAINTS
SCHEMATA
SEQUENCES
SESSION_VARIABLES
SLOW_QUERY
STATISTICS
TABLES
TABLE_CONSTRAINTS
TABLE_STORAGE_STATS
TIDB_HOT_REGIONS
TIDB_HOT_REGIONS_HISTORY
TIDB_INDEXES
TIDB_SERVERS_INFO
TIDB_TRX
TIFLASH_REPLICA
TIKV_REGION_PEERS
TIKV_REGION_STATUS
TIKV_STORE_STATUS
USER_PRIVILEGES
VIEWS
METRICS_SCHEMA
- UI
- TiDB ダッシュボード
- 概要
- 管理
- アクセス
- 概要ページ
- クラスター情報ページ
- Top SQLページ
- キー ビジュアライザー ページ
- メトリクス関係グラフ
- SQL ステートメントの分析
- スロークエリページ
- クラスタ診断
- 検索ログ ページ
- インスタンスのプロファイリング
- セッションの管理とConfiguration / コンフィグレーション
- FAQ
- CLI
- コマンド ライン フラグ
- Configuration / コンフィグレーションファイルのパラメーター
- システム変数
- ストレージ エンジン
- テレメトリー
- エラーコード
- テーブル フィルター
- トポロジ ラベルごとにレプリカをスケジュールする
- よくある質問
- リリースノート
- すべてのリリース
- リリースのタイムライン
- TiDB のバージョニング
- v6.1
- v6.0
- v5.4
- v5.3
- v5.2
- v5.1
- v5.0
- v4.0
- v3.1
- v3.0
- v2.1
- v2.0
- v1.0
- 用語集
TiDB5.2リリースノート
発売日:2021年8月27日
TiDBバージョン:5.2.0
このバージョンにはいくつかの既知の問題があり、これらの問題は新しいバージョンで修正されています。最新の5.2.xバージョンを使用することをお勧めします。
v5.2では、主な新機能と改善点は次のとおりです。
- 式インデックスでのいくつかの関数の使用をサポートして、クエリのパフォーマンスを大幅に向上させます
- オプティマイザーのカーディナリティ推定の精度を向上させて、最適な実行プランの選択を支援します
- ロックビュー機能の一般提供(GA)をアナウンスして、トランザクションロックイベントを監視し、デッドロックの問題をトラブルシューティングします
- TiFlash I / Oトラフィック制限機能を追加して、TiFlashの読み取りと書き込みの安定性を向上させます
- TiKVは、以前のRocksDB書き込みストールメカニズムを置き換える新しいフロー制御メカニズムを導入して、TiKVフロー制御の安定性を向上させます
- データ移行(DM)の運用と保守を簡素化して、管理コストを削減します。
- TiCDCは、HTTPプロトコルOpenAPIをサポートしてTiCDCタスクを管理します。 Kubernetesとオンプレミス環境の両方でよりユーザーフレンドリーな操作方法を提供します。 (実験的特徴)
互換性の変更
ノート:
以前のTiDBバージョンからv5.2にアップグレードするときに、すべての中間バージョンの互換性の変更に関する注意事項を知りたい場合は、対応するバージョンのリリースノートを確認できます。
システム変数
変数名 | タイプを変更する | 説明 |
---|---|---|
default_authentication_plugin | 新しく追加されました | サーバーがアドバタイズする認証方法を設定します。デフォルト値はmysql_native_password です。 |
tidb_enable_auto_increment_in_generated | 新しく追加されました | 生成された列または式インデックスを作成するときにAUTO_INCREMENT 列を含めるかどうかを決定します。デフォルト値はOFF です。 |
tidb_opt_enable_correlation_adjustment | 新しく追加されました | オプティマイザーが列の順序の相関に基づいて行数を推定するかどうかを制御します。デフォルト値はON です。 |
tidb_opt_limit_push_down_threshold | 新しく追加されました | LimitまたはTopN演算子をTiKVにプッシュするかどうかを決定するしきい値を設定します。デフォルト値は100 です。 |
tidb_stmt_summary_max_stmt_count | 修正済み | ステートメントサマリーテーブルがメモリに保存するステートメントの最大数を設定します。デフォルト値は200 から3000 に変更されます。 |
tidb_enable_streaming | 非推奨 | システム変数enable-streaming は非推奨であり、これ以上使用することはお勧めしません。 |
Configuration / コンフィグレーションファイルのパラメーター
Configuration / コンフィグレーションファイル | Configuration / コンフィグレーション項目 | タイプを変更する | 説明 |
---|---|---|---|
TiDB構成ファイル | pessimistic-txn.deadlock-history-collect-retryable | 新しく追加されました | INFORMATION\_SCHEMA.DEADLOCKS テーブルが再試行可能なデッドロックエラーメッセージを収集するかどうかを制御します。 |
TiDB構成ファイル | security.auto-tls | 新しく追加されました | 起動時にTLS証明書を自動的に生成するかどうかを決定します。デフォルト値はfalse です。 |
TiDB構成ファイル | stmt-summary.max-stmt-count | 修正済み | ステートメントサマリーテーブルに保存できるSQLカテゴリの最大数を示します。デフォルト値は200 から3000 に変更されます。 |
TiDB構成ファイル | experimental.allow-expression-index | 非推奨 | TiDB構成ファイルのallow-expression-index つの構成は非推奨です。 |
TiKV構成ファイル | raftstore.cmd-batch | 新しく追加されました | リクエストのバッチ処理を有効にするかどうかを制御します。有効にすると、書き込みパフォーマンスが大幅に向上します。デフォルト値はtrue です。 |
TiKV構成ファイル | raftstore.inspect-interval | 新しく追加されました | 一定の間隔で、TiKVはRaftstoreコンポーネントのレイテンシーを検査します。この構成項目は、検査の間隔を指定します。待ち時間がこの値を超えると、この検査はタイムアウトとしてマークされます。デフォルト値は500ms です。 |
TiKV構成ファイル | raftstore.max-peer-down-duration | 修正済み | ピアに許可されている最長の非アクティブ期間を示します。タイムアウトのあるピアはdown としてマークされ、PDは後でそれを削除しようとします。デフォルト値は5m から10m に変更されます。 |
TiKV構成ファイル | server.raft-client-queue-size | 新しく追加されました | TiKVのRaftメッセージのキューサイズを指定します。デフォルト値は8192 です。 |
TiKV構成ファイル | storage.flow-control.enable | 新しく追加されました | フロー制御メカニズムを有効にするかどうかを決定します。デフォルト値はtrue です。 |
TiKV構成ファイル | storage.flow-control.memtables-threshold | 新しく追加されました | kvDB memtableの数がこのしきい値に達すると、フロー制御メカニズムが機能し始めます。デフォルト値は5 です。 |
TiKV構成ファイル | storage.flow-control.l0-files-threshold | 新しく追加されました | kvDB L0ファイルの数がこのしきい値に達すると、フロー制御メカニズムが機能し始めます。デフォルト値は9 です。 |
TiKV構成ファイル | storage.flow-control.soft-pending-compaction-bytes-limit | 新しく追加されました | KvDBの保留中の圧縮バイトがこのしきい値に達すると、フロー制御メカニズムは一部の書き込み要求の拒否を開始し、 ServerIsBusy エラーを報告します。デフォルト値は「192GB」です。 |
TiKV構成ファイル | storage.flow-control.hard-pending-compaction-bytes-limit | 新しく追加されました | KvDBの保留中の圧縮バイトがこのしきい値に達すると、フロー制御メカニズムはすべての書き込み要求を拒否し、 ServerIsBusy のエラーを報告します。デフォルト値は「1024GB」です。 |
その他
- アップグレードする前に、
tidb_evolve_plan_baselines
のシステム変数の値がON
であるかどうかを確認してください。値がON
の場合は、OFF
に設定します。そうしないと、アップグレードは失敗します。 - v4.0からv5.2にアップグレードされたTiDBクラスターの場合、デフォルト値の
tidb_multi_statement_mode
がWARN
からOFF
に変更されます。 - アップグレードする前に、TiDB構成の値を確認してください
feedback-probability
。値が0
でない場合、アップグレード後に「回復可能なゴルーチンのpanic」エラーが発生しますが、このエラーはアップグレードには影響しません。 - TiDBは、MySQL5.7のnoop変数
innodb_default_row_format
と互換性がありMySQL 5.7。この変数を設定しても効果はありません。 #23541 - TiDB 5.2以降、システムセキュリティを向上させるために、クライアントからの接続用にトランスポート層を暗号化することをお勧めします(必須ではありません)。 TiDBは、TiDBで暗号化を自動的に構成して有効にする自動TLS機能を提供します。自動TLS機能を使用するには、TiDBをアップグレードする前に、TiDB構成ファイルの
security.auto-tls
をtrue
に設定します。 - MySQL 8.0からの移行を容易にし、セキュリティを向上させるために、
caching_sha2_password
の認証方法をサポートします。
新機能
SQL
式インデックスでのいくつかの関数の使用のサポート
式インデックスは、式に作成できる特殊なインデックスの一種です。式インデックスが作成された後、TiDBは式ベースのクエリをサポートします。これにより、クエリのパフォーマンスが大幅に向上します。
Oracleの
translate
機能をサポートするtranslate
関数は、文字列内の他の文字に出現するすべての文字を置き換えます。 TiDBでは、この関数はOracleのように空の文字列をNULL
として扱いません。こぼれるHashAggをサポートする
HashAggをディスクにこぼすことをサポートします。 HashAgg演算子を含むSQLステートメントによってメモリ不足(OOM)が発生した場合、この演算子の同時実行性を
1
に設定してディスクの流出をトリガーし、メモリのストレスを軽減することができます。オプティマイザのカーディナリティ推定の精度を向上させる
- TiDBによるTopN/Limitの推定の精度を向上させます。たとえば、
order by col limit x
の条件を含む大きなテーブルでのページネーションクエリの場合、TiDBは適切なインデックスをより簡単に選択し、クエリの応答時間を短縮できます。 - 範囲外推定の精度を向上させます。たとえば、1日の統計が更新されていない場合でも、TiDBは
where date=Now()
を含むクエリに対応するインデックスを正確に選択できます。 tidb_opt_limit_push_down_threshold
変数を導入して、Limit / TopNをプッシュダウンするオプティマイザーの動作を制御します。これにより、推定が間違っているために、状況によってはLimit/TopNをプッシュダウンできないという問題が解決されます。
- TiDBによるTopN/Limitの推定の精度を向上させます。たとえば、
オプティマイザのインデックス選択を改善する
インデックス選択のプルーニングルールを追加します。統計を比較に使用する前に、TiDBはこれらのルールを使用して、選択できるインデックスの範囲を絞り込みます。これにより、最適でないインデックスを選択する可能性が低くなります。
取引
ロックビューの一般提供(GA)
ロックビュー機能は、ペシミスティックロックのロック競合とロック待機に関する詳細情報を提供します。これは、DBAがトランザクションロックイベントを監視し、デッドロックの問題をトラブルシューティングするのに役立ちます。
v5.2では、ロックビューに次の機能拡張が行われました。
- ロックビュー関連テーブルのSQLダイジェスト列に加えて、対応する正規化されたSQLテキストを示す列をこれらのテーブルに追加します。 SQLダイジェストに対応するステートメントを手動でクエリする必要はありません。
TIDB_DECODE_SQL_DIGESTS
関数を追加して、クラスタのSQLダイジェストのセットに対応する正規化されたSQLステートメント(形式と引数のないフォーム)をクエリします。これにより、トランザクションによって過去に実行されたステートメントをクエリする操作が簡素化されます。DATA_LOCK_WAITS
およびDEADLOCKS
システム表に列を追加して、表名、行ID、索引値、および鍵から解釈されるその他の鍵情報を表示します。これにより、キーが属するテーブルの検索やキー情報の解釈などの操作が簡素化されます。DEADLOCKS
のテーブルで再試行可能なデッドロックエラーの情報を収集することをサポートします。これにより、このようなエラーによって引き起こされる問題のトラブルシューティングが容易になります。エラー収集はデフォルトで無効になっており、pessimistic-txn.deadlock-history-collect-retryable
の構成を使用して有効にできます。TIDB_TRX
システムテーブルでクエリ実行トランザクションとアイドルトランザクションの区別をサポートします。Normal
の状態がRunning
つとIdle
の状態に分割されました。
ユーザードキュメント:
- クラスタのすべてのTiKVノードで発生している悲観的なロック待機イベントをビューします:
DATA_LOCK_WAITS
- TiDBノードで最近発生したデッドロックエラーをビューします:
DEADLOCKS
- TiDBノードで実行中のトランザクションをビューします:
TIDB_TRX
AUTO_RANDOM
またはSHARD_ROW_ID_BITS
属性を持つテーブルにインデックスを追加するユーザーシナリオを最適化します。
安定性
TiFlash I/Oトラフィック制限を追加する
この新機能は、ディスク帯域幅が小さく特定のサイズのクラウドストレージに適しています。デフォルトでは無効になっています。
TiFlash I / Oレートリミッターは、読み取りタスクと書き込みタスクの間のI/Oリソースの過度の競合を回避するための新しいメカニズムを提供します。読み取りタスクと書き込みタスクへの応答のバランスを取り、読み取り/書き込みワークロードに応じてレートを自動的に制限します。
TiKVフロー制御の安定性を向上させる
TiKVは、以前のRocksDB書き込みストールメカニズムを置き換える新しいフロー制御メカニズムを導入します。書き込みストールメカニズムと比較して、この新しいメカニズムは、フォアグラウンド書き込みの安定性への影響を軽減します。
具体的には、RocksDB圧縮のストレスが蓄積されると、次の問題を回避するために、RocksDBレイヤーではなくTiKVスケジューラーレイヤーでフロー制御が実行されます。
- RocksDBの書き込みストールが原因でRaftstoreがスタックしています。
- Raft選挙がタイムアウトし、その結果、ノードリーダーが転送されます。
この新しいメカニズムは、フロー制御アルゴリズムを改善して、書き込みトラフィックが多い場合のQPSの低下を軽減します。
クラスタの単一の低速TiKVノードによって引き起こされた影響を自動的に検出して回復します
TiKVは、低速ノード検出メカニズムを導入しています。このメカニズムは、TiKV Raftstoreのレートを検査することによってスコアを計算し、ストアのハートビートを介してスコアをPDに報告します。一方、PDに
evict-slow-store-scheduler
のスケジューラーを追加して、単一の低速TiKVノードのリーダーを自動的に削除します。このようにして、クラスタ全体への影響が軽減されます。同時に、問題をすばやく特定して解決するのに役立つ、低速ノードに関するアラート項目がさらに導入されています。
データ移行
データ移行(DM)の操作を簡素化する
DM v2.0.6は、VIPを使用してデータソースの変更イベント(フェイルオーバーまたはプラン変更)を自動的に識別し、新しいデータソースインスタンスに自動的に接続して、データ複製の待ち時間を短縮し、操作手順を簡素化できます。
TiDB Lightningは、CSVデータでカスタマイズされたラインターミネータをサポートし、MySQL LOADDATACSVデータ形式と互換性があります。その後、データフローアーキテクチャでTiDB Lightningを直接使用できます。
TiDBデータ共有サブスクリプション
TiCDCは、HTTPプロトコル(OpenAPI)を使用したTiCDCタスクの管理をサポートしています。これは、Kubernetesとオンプレミス環境の両方にとってよりユーザーフレンドリーな操作方法です。 (実験的特徴)
展開と運用
AppleM1チップを搭載したMacコンピューターでのtiup playground
コマンドの実行をサポートします。
機能の強化
ツール
TiCDC
TiDB Lightning
Dumpling
- MySQL互換データベースのバックアップをサポートしますが、
START TRANSACTION ... WITH CONSISTENT SNAPSHOT
またはSHOW CREATE TABLE
をサポートしませ#311
- MySQL互換データベースのバックアップをサポートしますが、
改善点
TiDB
- 内蔵機能
json_unquote()
から#24415へのプッシュダウンをサポート - デュアルテーブル#25614からの
union
ブランチの削除をサポート - 集計オペレーターのコストファクターを最適化する#25241
- MPP外部結合がテーブルの行数#25142に基づいてビルドテーブルを選択できるようにします
- リージョン#24724に基づく異なるTiFlashノード間でのMPPクエリワークロードのバランス調整をサポート
- MPPクエリの実行後のキャッシュ内の古いリージョンの無効化をサポート#24432
- フォーマット指定子#25767の組み込み関数
str_to_date
のMySQL互換性を改善し%b/%M/%r/%T
。 - 同じクエリに対して異なるバインディングを再作成した後、一貫性のないバインディングキャッシュが複数のTiDBに作成される可能性がある問題を修正します#26015
- アップグレード後に既存のバインディングをキャッシュにロードできない問題を修正します#23295
SHOW BINDINGS
の結果を(original_sql
)update_time
で注文することをサポートし#26139- バインディングが存在する場合のクエリ最適化のロジックを改善し、クエリの最適化時間を短縮します#26141
- 「削除済み」ステータスのバインディングのガベージコレクションの自動完了をサポート#26206
EXPLAIN VERBOSE
#26930の結果で、クエリの最適化にバインディングが使用されているかどうかを示すサポート- 新しいステータスバリエーション
last_plan_binding_update_time
を追加して、現在のTiDBインスタンス#26340のバインディングキャッシュに対応するタイムスタンプを表示します。 - バインディングエボリューションを開始するとき、または
admin evolve bindings
を実行して、他の機能に影響を与えるベースラインエボリューション(オンプレミスのTiDBバージョンでは実験的機能であるため現在無効になっています)を禁止するときのエラーの報告をサポートします#26333
- 内蔵機能
PD
TiFlash
LIKE
の追加:MOD / %
TRIM()
POSITION()
関数のCOALESCE()
LENGTH()
ASCII()
RADIANS()
関数MOD()
POW()
SIN()
ROUND(decimal)
CONV()
CRC32()
DEGREES()
EXP()
LN()
LOG()
LOG10()
LOG2()
- 日付関数の
DATE_ADD(string, real)
DATE()
ADDDATE(string, real)
- 他の関数を
INET_ATON()
INET6_NTOA()
INET6_ATON
INET_NTOA()
- 新しい照合順序が有効になっている場合、MPPモードでシャッフルハッシュ結合計算とシャッフルハッシュ集計計算をサポートします
- 基本コードを最適化してMPPパフォーマンスを向上させる
STRING
タイプからDOUBLE
タイプへのキャストをサポート- 複数のスレッドを使用して、右外部結合で結合されていないデータを最適化します
- MPPクエリで古いリージョンを自動的に無効にすることをサポート
ツール
TiCDC
Dumpling
バグの修正
TiDB
SET
タイプの列#25669でマージ結合を使用すると、誤った結果が返される問題を修正します。IN
式の引数#25591のデータ破損の問題を修正します- GCのセッションがグローバル変数の影響を受けないようにする#24976
- ウィンドウ関数クエリ#25344で
limit
を使用するときに発生するpanicの問題を修正します Limit
を使用してパーティションテーブルをクエリするときに返される誤った値を修正し#24636IFNULL
がENUM
またはSET
タイプの列#24944で正しく有効にならない問題を修正します- 結合サブクエリの
count
を#24865に変更することによって引き起こされる誤った結果を修正しfirst_row
ParallelApply
がTopN
演算子#24930の下で使用されている場合に発生するクエリハングの問題を修正します- 複数列のプレフィックスインデックスを使用してSQLステートメントを実行すると、予想よりも多くの結果が返される問題を修正します#24356
<=>
オペレーターが正しく有効にできない問題を修正します#24477- パラレル
Apply
オペレーター#23280のデータ競合の問題を修正します - PartitionUnion演算子#23919のIndexMerge結果を並べ替えるときに
index out of range
エラーが報告される問題を修正します。 tidb_snapshot
変数を予想外に大きな値に設定すると、トランザクション分離が損なわれる可能性があるという問題を修正します#25680- ODBCスタイルの定数(たとえば、
{d '2020-01-01'}
)を式#25531として使用できない問題を修正します。 SELECT DISTINCT
をBatch Get
に変換すると誤った結果が発生する問題を修正します#25320- TiFlashからTiKVへのクエリのバックオフをトリガーできない問題を修正し#24421 #23665
only_full_group_by
#23839 )をチェックするときに発生するindex-out-of-range
のエラーを修正します。- 相関サブクエリでのインデックス結合の結果が間違っている問題を修正します#25799
TiKV
PD
TiFlash
- 分割の失敗が原因でTiFlashが再起動し続ける問題を修正します
- TiFlashがデルタデータを削除できないという潜在的な問題を修正します
- TiFlashが
CAST
関数の非バイナリ文字に間違ったパディングを追加するバグを修正します - 複雑な
GROUP BY
列の集計クエリを処理するときの誤った結果の問題を修正します - 書き込み圧力が高い場合に発生するTiFlashpanicの問題を修正します
- 右のジョンキーがNULL可能ではなく、左の結合キーがNULL可能である場合に発生するpanicを修正します
read-index
のリクエストに時間がかかる潜在的な問題を修正します- 読み取り負荷が大きいときに発生するpanicの問題を修正します
Date_Format
の関数がSTRING
の型引数とNULL
の値で呼び出されたときに発生する可能性があるpanicの問題を修正します
ツール
TiCDC
- チェックポイント#1902を更新するときにTiCDC所有者が異常終了するバグを修正します
- 作成が成功した直後にchangefeedが失敗するバグを修正します#2113
- ルールフィルター#1625の形式が無効なためにchangefeedが失敗するバグを修正します
- TiCDC所有者がパニックになったときに発生する可能性のあるDDL損失の問題を修正します#1260
- デフォルトのsort-engineオプション#2373での4.0.xクラスターとのCLI互換性の問題を修正します
- TiCDCが
ErrSchemaStorageTableMiss
エラー#2422を取得したときにchangefeedが予期せずリセットされる可能性があるバグを修正します - TiCDCが
ErrGCTTLExceeded
エラー#2391を取得したときにチェンジフィードを削除できないバグを修正します - TiCDCが大きなテーブルを#1259に同期できないバグを修正し#2424 。
- TiCDCがテーブルを再スケジュールしているときに複数のプロセッサが同じテーブルにデータを書き込む可能性があるバグを修正します#2230
バックアップと復元(BR)
TiDB Lightning
- TiDBLightningがTiDB Lightningファイル#1272の
DECIMAL
データ型の解析に失敗するバグを修正します - テーブルスキーマの復元時にTiDB Lightningが「エラー9007:書き込みの競合」エラーを報告するバグを修正します#1290
- intハンドル#1291のオーバーフローが原因でTiDB Lightningがデータのインポートに失敗するバグを修正します
- ローカルバックエンドモードでのデータ損失が原因でTiDB Lightningがチェックサム不一致エラーを受け取る可能性があるバグを修正します#1403
- TiDB Lightningがテーブルスキーマを復元しているときのクラスター化されたインデックスとのLightingの非互換性の問題を修正します#1362
- TiDBLightningがTiDB Lightningファイル#1272の
Dumpling