TiDB 4.0 ベータ版リリースノート
発売日:2020年1月17日
TiDB バージョン: 4.0.0 ベータ版
TiDB Ansible バージョン: 4.0.0 ベータ版
TiDB
INSERT
/REPLACE
/DELETE
/UPDATE
の実行中に使用されたメモリがMemQuotaQuery
設定項目で指定した制限を超えた場合、ログを出力するか、SQLの実行をキャンセルします。実際の動作はOOMAction
構成によって異なります。 #14179 #14289 #14299- 駆動テーブルと被駆動テーブルの両方の行数を考慮することで、コスト
Index Join
の計算精度が向上します#12085 - オプティマイザーの動作を制御し、オプティマイザーをより安定させるための 15 個の SQL ヒントを追加します。
- クエリに含まれる列をインデックス#12022で完全にカバーできる場合、パフォーマンスが向上します。
- インデックス マージ機能のサポートにより、テーブル クエリのパフォーマンスが向上します#10121 #10512 #11245 #12225 #12248 #12305 #12843
- インデックス結果をキャッシュし、重複した結果を排除することで、範囲計算のパフォーマンスを向上させ、CPU オーバーヘッドを削減します#12856
- 低速ログのレベルを通常のログのレベルから分離します#12359
oom-use-tmp-storage
パラメータ (デフォルトではtrue
) を追加して、単一の SQL ステートメントの実行でのメモリ使用量がmem-quota-query
を超え、SQL にHash Join
#11832 #11937 #12116 #12067が含まれる場合に、一時ファイルを使用して中間結果をキャッシュするかどうかを制御します。create index
/alter table
を使用した式インデックスの作成とdrop index
を使用した式インデックス#14117の削除をサポート- 切り捨てられる SQL 出力の数を減らすには、
query-log-max-len
パラメータのデフォルト値を4096
に増やします。このパラメータは動的に調整できます。 #12491 - システムがランダムな整数を主キーに自動的に割り当てるかどうかを制御するために、列属性に
AutoRandom
キーワードを追加することをサポートします。これにより、AUTO_INCREMENT
主キーによって引き起こされるホットスポット問題が回避されます#13127 - サポートテーブルロック#11038
- 条件付きフィルタリングに
ADMIN SHOW DDL JOBS
のLIKE
またはWHERE
句を使用するサポート#12484 information_schema.tables
テーブルのTIDB_ROW_ID_SHARDING_INFO
列を追加して、RowID
散乱情報を出力します (たとえば、テーブルA
のSHARD_ROW_ID_BITS
列の値は"SHARD_BITS={bit_number}"
です) #13418- SQL エラー メッセージのエラー コードを最適化し、
ERROR 1105 (HY000)
コードが複数のエラー メッセージに使用される状況 (Unknown Error
タイプ) を回避します。 - 離散型の狭いデータ範囲を
point set
に変換し、行数推定時にCM-Sketchを使用して推定精度を向上させる#11524 - 通常の
Analyze
についてTopN
情報を CM-Sketch から抽出し、頻繁に発生する値を別途保持する#11409 - CM-Sketchの奥行きと幅、
TopN
情報#11278の数の動的調整をサポート - SQL バインディングの自動キャプチャと進化をサポート#13199 #12434
Chunk
を使用してTiKVとの通信のエンコード形式を最適化し、通信パフォーマンスを向上させます#12023 #12536 #12613 #12621 #12899 #13060 #13349- 新しい行ストア形式をサポートして、ワイドテーブル#12634のパフォーマンスを向上させます。
Recover Binlog
インターフェイスを最適化して、クライアント#13740に戻る前にすべてのトランザクションがコミットされるのを確実に待機します。- HTTP
info/all
インターフェイス#13025を介して、クラスター内の TiDB サーバーによって有効になっているbinlogステータスのクエリをサポートします。 - 悲観的トランザクション モード#14087を使用する場合、MySQL 互換の
Read Committed
トランザクション分離レベルをサポートします。 - 大規模な取引をサポートします。トランザクション サイズは、物理メモリのサイズによって制限されます。
Kill
#10841の安定性を向上LOAD DATA
#11029の区切り文字として 16 進数および 2 進数の式をサポートIndexLookupJoin
をIndexHashJoin
とIndexMergeJoin
に分割することで、IndexLookupJoin
のパフォーマンスを向上させ、実行時のメモリ消費量を削減します#8861 #12139 #12349 #13238 #13451 #13714- RBAC #13896 #13820 #13940 #14090 #13940 #13014に関連するいくつかの問題を修正
SELECT
ステートメントにunion
#12595が含まれるためVIEW
が作成できない問題を修正CAST
機能に関するいくつかの問題を修正- トラブルシューティングを容易にするために、TiKV RPC の詳細
backoff
情報をスロー ログに出力します#13770 - 高価なログ#12809のメモリ統計の形式を最適化し、統一します。
EXPLAIN
の明示的な形式を最適化し、オペレーターによるメモリとディスクの使用状況に関する情報の出力をサポートします#13914 #13692 #13686 #11415 #13927 #13764 #13720- トランザクション サイズに基づいて
LOAD DATA
重複値のチェックを最適化し、tidb_dml_batch_size
パラメータを構成することでトランザクション サイズの設定をサポートします#11132 - データ準備ルーチンとコミット ルーチンを分離し、ワークロードを異なるワーカーに割り当てることで
LOAD DATA
のパフォーマンスを最適化します#11533 #11284
TiKV
- RocksDB バージョンを 6.4.6 にアップグレードします。
- TiKV の起動時に 2GB の空のファイルを自動的に作成することで、ディスク容量が使い果たされると、システムが圧縮タスクを正常に実行できなくなる問題を修正します#6321
- 迅速なバックアップと復元をサポート
- Followerレプリカからのデータ読み取りのサポート
- インデックス#5682による TiDB 読み取りデータのパフォーマンスを向上させます。
CAST
関数の動作が TiKV と TiDB で一貫性がない問題を修正
PD
- storageノードの負荷情報に応じたホットスポットスケジューリングの最適化をサポート
- さまざまなスケジュール ルールを組み合わせて、任意のデータ範囲のレプリカ数、storageの場所、storageホストの種類、役割の制御をサポートする配置ルール機能を追加します。
- プラグインを使用したサポート (実験的) #1799
- スケジューラーがカスタマイズされた構成とキー範囲をサポートする機能を追加 (実験的) #1735 #1783 #1791
- クラスターの負荷情報に応じてスケジューリング速度を自動的に調整するサポート (実験的、デフォルトで無効) #1875 #1887 #1902
ツール
- TiDB Lightning
- コマンドライン ツールにパラメータを追加して、ダウンストリーム データベース#253のパスワードを設定します。