TiDB4.0ベータリリースノート
発売日:2020年1月17日
TiDBバージョン:4.0.0-ベータ版
TiDB Ansibleバージョン:4.0.0-ベータ版
TiDB
INSERT
のDELETE
中に使用されたメモリがREPLACE
構成項目で指定された制限をUPDATE
た場合は、ログを印刷するか、SQLの実行をキャンセルしてMemQuotaQuery
。実際の動作は、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
#14117query-log-max-len
パラメーターのデフォルト値を4096
に増やして、切り捨てられたSQL出力の数を減らします。このパラメータは動的に調整できます。 #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
のCM-SketchからTopN
の情報を抽出し、頻繁に発生する値を個別に維持します#11409 - CM-Sketchの深さと幅、および
TopN
の情報の数を動的に調整することをサポートします#11278 - SQL #12434の自動キャプチャと進化をサポート#13199
Chunk
を使用してTiKVとの通信のエンコード形式を最適化し、通信パフォーマンスを向上させます#12023 #12536 #12613 #12621 #12899 #13060 #13349- ワイドテーブル#12634のパフォーマンスを向上させるために、新しい行ストア形式をサポートします。
Recover Binlog
のインターフェースを最適化して、すべてのトランザクションがコミットされるのを待ってからクライアントに戻るようにします#13740info/all
インターフェースを介したクラスタのTiDBサーバーによって有効化されたbinlogステータスのクエリをサポートします#13025- 悲観的トランザクションモード#14087を使用する場合は、MySQL互換の
Read Committed
トランザクション分離レベルをサポートします。 - 大規模なトランザクションをサポートします。トランザクションサイズは、物理メモリのサイズによって制限されます。
Kill
の安定性を向上さ#10841- #11029の区切り文字として16進式と2進式をサポートし
LOAD DATA
IndexLookupJoin
をIndexHashJoin
と#12349IndexMergeJoin
#8861 #12139 #13238分割することにより、IndexLookupJoin
のパフォーマンスを向上させ、実行中のメモリ消費を削減し#13714 #13451- #13014に関連するいくつかの問題を修正し#13896 #13820 #13940 #14090 #13940
SELECT
ステートメントに#12595が含まれているため、VIEW
を作成できない問題を修正しunion
。CAST
関数に関連するいくつかの問題を修正します- トラブルシューティングを容易にするために、TiKVRPCの詳細
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
- 迅速なバックアップと復元をサポート
- フォロワーレプリカからのデータの読み取りをサポート
- インデックス#5682を介してデータを読み取るTiDBのパフォーマンスを向上させる
CAST
関数がTiKVとTiDBで一貫して動作しない問題を修正します
PD
- ストレージノードの負荷情報に応じたホットスポットスケジューリングの最適化をサポート
- さまざまなスケジューリングルールを組み合わせることにより、任意のデータ範囲のレプリカの数、ストレージの場所、ストレージホストのタイプ、および役割の制御をサポートする配置ルール機能を追加します
- プラグインの使用のサポート(実験的) #1799
- スケジューラーがカスタマイズされた構成とキー範囲をサポートする機能を追加します(実験的) #1735 #1783 #1791
- クラスタ負荷情報に応じたスケジューリング速度の自動調整をサポート(実験的、デフォルトでは無効) #1875 #1887 #1902
ツール
- TiDB Lightning
- コマンドラインツールにパラメータを追加して、ダウンストリームデータベースのパスワードを設定します#253