TiDB 4.0 ベータ リリース ノート
発売日:2020年1月17日
TiDB バージョン: 4.0.0-beta
TiDB Ansible バージョン: 4.0.0-beta
TiDB
INSERT
/REPLACE
/DELETE
/UPDATE
の実行中に使用されたメモリがMemQuotaQuery
構成項目で指定された制限を超えた場合、ログを出力するか、SQL の実行をキャンセルします。実際の動作は、OOMAction
の構成によって異なります。 #14179 #14289 #14299- 駆動表と被駆動表の両方の行数を考慮して、
Index Join
のコスト計算の精度を上げる#12085 - 15 個の SQL ヒントを追加して、オプティマイザーの動作を制御し、オプティマイザーをより安定させます
- クエリに含まれる列をインデックスで完全にカバーできる場合のパフォーマンスを向上させます#12022
- インデックス マージ機能をサポートすることにより、テーブル クエリのパフォーマンスを向上させる#10121 #10512 #11245 #12225 #12248 #12305 #12843
- インデックス結果をキャッシュし、重複する結果を排除することで、Range 計算のパフォーマンスを向上させ、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をサポートquery-log-max-len
パラメータのデフォルト値を4096
に増やして、切り捨てられた SQL 出力の数を減らします。このパラメータは動的に調整できます。 #12491- column 属性に
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}"
です) #13418ERROR 1105 (HY000)
のコードが複数のエラー メッセージ (Unknown Error
種類) に使用される状況を回避するために、SQL エラー メッセージのエラー コードを最適化します。- 離散型の狭いデータ範囲を
point set
に変換し、CM-Sketchを使用して行数の推定時に推定精度を向上させます#11524 - CM-Sketch から
TopN
の情報を通常のAnalyze
に抽出し、頻繁に発生する値を個別に保持する#11409 - CM-Sketch の深さと幅、および
TopN
情報#11278の数を動的に調整するサポート - SQL Binding の自動キャプチャと展開をサポート#13199 #12434
Chunk
を使用して TiKV との通信のエンコード形式を最適化し、通信パフォーマンスを向上させます#12023 #12536 #12613 #12621 #12899 #13060 #13349- ワイド テーブル#12634のパフォーマンスを向上させる新しい行ストア形式をサポートします。
Recover Binlog
インターフェースを最適化して、すべてのトランザクションがコミットされるのを待ってからクライアント#13740に戻るようにする- HTTP
info/all
インターフェイス#13025を介して、クラスター内の TiDB サーバーによって有効にされた binlog ステータスのクエリをサポートします。 - ペシミスティック トランザクション モードを使用する場合、MySQL 互換の
Read Committed
トランザクション分離レベルをサポートします#14087 - 大規模なトランザクションをサポートします。トランザクション サイズは、物理メモリのサイズによって制限されます。
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
- 迅速なバックアップと復元をサポート
- フォロワー レプリカからのデータの読み取りをサポート
- インデックス#5682を介してデータを読み取る TiDB のパフォーマンスを向上させる
CAST
関数が TiKV と TiDB で一貫性のない動作をする問題を修正
PD
- ストレージノードの負荷情報に応じたホットスポットスケジューリングの最適化をサポート
- さまざまなスケジューリング ルールを組み合わせて、任意のデータ範囲のレプリカの数、ストレージの場所、ストレージ ホストの種類、および役割を制御できる配置ルール機能を追加します。
- プラグインを使用したサポート (実験的) #1799
- スケジューラーがカスタマイズされた構成とキー範囲をサポートする機能を追加 (実験的) #1735 #1783 #1791
- クラスターの負荷情報に応じてスケジューリング速度を自動的に調整するサポート (実験的、デフォルトでは無効) #1875 #1887 #1902
ツール
- TiDB Lightning
- コマンドライン ツールにパラメータを追加して、ダウンストリーム データベースのパスワードを設定します#253
TiDB アンシブル
Playground
登録なしで TiDB の機能をワンストップでインタラクティブに体験できます。