TiDB 2.1 RC1 リリースノート
2018 年 8 月 24 日、TiDB 2.1 RC1 がリリースされました! TiDB 2.1 Beta と比較すると、このリリースでは、安定性、SQL オプティマイザ、統計情報、および実行エンジンが大幅に改善されています。
TiDB
- SQL オプティマイザー
- 場合によっては、相関サブクエリが非相関になった後に間違った結果が返される問題を修正します#6972
Explain
#7011 #7041の出力結果を最適化するIndexJoin
#7019の外側のテーブルの選択戦略を最適化する- 非
PREPARE
ステートメント#7040の Plan Cache を削除します INSERT
ステートメントが解析されず、正しく実行されない場合がある問題を修正します#7068IndexJoin
結果が正しくない場合がある問題を修正#7150- 場合によっては一意のインデックスを使用して
NULL
の値が見つからない問題を修正します#7163 - UTF-8 #7194のプレフィックス インデックスの範囲計算の問題を修正します。
- 場合によっては
Project
演算子を削除すると、結果が正しくない問題を修正します#7257 - 主キーが整数#7316の場合、
USE INDEX(PRIMARY)
が使えない問題を修正 - 場合によっては、相関列を使用してインデックス範囲を計算できない問題を修正します#7357
- SQL 実行エンジン
- サマータイムが正しく計算されない場合がある問題を修正#6823
- 集計関数フレームワークをリファクタリングして、
Stream
およびHash
集計演算子の実行効率を改善する#6852 Hash
集約演算子が場合によっては正常に終了できない問題を修正#6982BIT_AND
/BIT_OR
/BIT_XOR
が非整数データを正しく処理しない問題を修正#6994REPLACE INTO
ステートメントの実行速度を最適化し、パフォーマンスを 10 倍近く向上させます#7027- 時間型データのメモリ使用量を最適化し、時間型データのメモリ使用量を 50% 削減します#7043
- 返される結果が
UNION
ステートメントで符号付き整数と符号なし整数が混在する問題を修正します。MySQL #7112とは互換性がありません。 LPAD
/RPAD
/TO_BASE64
/FROM_BASE64
/REPEAT
#7171 #7266 #7409 #7431によって適用されるメモリが多すぎるために発生するpanicの問題を修正します。MergeJoin
/IndexJoin
がNULL
の値#7255を処理するときの誤った結果を修正します。- 場合によっては
Outer Join
の誤った結果を修正します#7288 Data Truncated
のエラー メッセージを改善して、間違ったデータとテーブル内の対応するフィールドを見つけやすくします#7401- 場合によっては
decimal
の誤った結果を修正します#7001 #7113 #7202 #7208 - ポイント セレクトのパフォーマンスを最適化する#6937
- 根本的な問題を回避するために分離レベル
Read Committed
を禁止する#7211 - 場合によっては
LTRIM
/RTRIM
/TRIM
の間違った結果を修正#7291 - 返される結果が 1 行を超えないことを
MaxOneRow
演算子が保証できない問題を修正し#7375 。 - 範囲が多すぎるコプロセッサー要求を分割します#7454
- 統計
- サーバ
- 特典情報読み込み時の不具合修正#6976
Kill
コマンドが権限チェックで厳しすぎる問題を修正#6954- 一部のバイナリ数値型を削除する問題を修正します#6922
- 出力ログを短くする#7029
mismatchClusterID
問題#7053を処理するadvertise-address
構成アイテム#7078を追加GrpcKeepAlive
オプション#7100を追加- 接続または
Token
時間モニター#7110を追加します。 - データのデコード パフォーマンスを最適化する#7149
INFORMMATION_SCHEMA
#7236にPROCESSLIST
テーブルを追加- 権限の検証で複数のルールがヒットした場合の順序の問題を修正します#7211
- エンコーディング関連のシステム変数の一部のデフォルト値を UTF-8 に変更#7198
- スロー クエリ ログにより詳細な情報を表示する#7302
- tidb-server 関連情報の PD への登録と HTTP API による取得をサポート#7082
- 互換性
- セッション変数
warning_count
およびerror_count
#6945をサポート - システム変数の読み取り時にチェックを
Scope
追加#6958 MAX_EXECUTION_TIME
構文#7012をサポートSET
構文#7020のより多くのステートメントをサポート- システム変数の設定時に有効性チェックを追加#7117
Prepare
ステートメント#7162にPlaceHolder
の数の検証を追加します。- サポート
set character_set_results = null
#7353 flush status
構文#7369をサポートinformation_schema
#7347のSET
型とENUM
型の列サイズを固定- テーブルを作成するステートメントの
NATIONAL CHARACTER
の構文をサポートします#7378 LOAD DATA
ステートメント#7391でCHARACTER SET
構文をサポートSET
型とENUM
型の列情報を修正#7417CREATE USER
ステートメント#7402でIDENTIFIED WITH
構文をサポートTIMESTAMP
計算プロセス中に精度が失われる問題を修正#7418- より多くの変数の妥当性検証をサポート
SYSTEM
#7196 CHAR_LENGTH
関数がバイナリ文字列#7410を計算するときの誤った結果を修正します。GROUP BY
#7448を含むステートメントの誤ったCONCAT
の結果を修正しますDECIMAL
型をSTRING
型#7451にキャストするときの不正確な型の長さの問題を修正
- セッション変数
- DML
- DDL
- 場合によっては誤判定を避けるために、
Schema
が複製されているかどうかの DDL 判定方法を改善します#7319 - インデックス処理#6993の追加で
SHOW CREATE TABLE
の結果を修正 - 非制限
sql-mode
#7230でtext
/blob
/json
のデフォルト値を NULL にすることを許可する - 場合によっては
ADD INDEX
の問題を修正します#7142 UNIQUE-KEY
インデックス操作の追加速度を大幅に向上#7132- UTF-8 文字セット#7109のプレフィックス インデックスの切り捨ての問題を修正します。
- 環境変数
tidb_ddl_reorg_priority
を追加して、add-index
操作の優先順位を制御します#7116 information_schema.tables
#7037分のAUTO-INCREMENT
の表示の問題を修正admin show ddl jobs <number>
コマンドをサポートし、指定された数の DDL ジョブの出力をサポートします#7028- 並列 DDL ジョブ実行のサポート#6955
- 場合によっては誤判定を避けるために、
- テーブル パーティション (実験的)
- 最上位パーティションをサポート
- サポート
Range Partition
PD
- 特徴
- バージョン管理メカニズムを導入し、互換性のあるクラスターのローリング アップデートをサポートします。
region merge
機能を有効にするGetPrevRegion
のインターフェースをサポート- バッチでのリージョンの分割をサポート
- GCセーフポイントの保存をサポート
- 改良点
- TSO 割り当てがシステム クロックの逆行の影響を受ける問題を最適化します。
- リージョンのハートビート処理のパフォーマンスを最適化する
- リージョンツリーのパフォーマンスを最適化する
- ホットスポット統計の計算パフォーマンスを最適化する
- APIインターフェースのエラーコードを返す最適化
- スケジューリング戦略を制御するオプションを追加
label
で特殊文字の使用を禁止する- スケジューリング シミュレーターの改善
- pd-ctl の統計を使用したリージョンの分割をサポート
- pd-ctl で
jq
を呼び出すことにより、JSON 出力の書式設定をサポートします - etcd Raftステート マシンに関するメトリクスを追加する
- バグの修正
- リーダーの切り替え後にネームスペースがリロードされない問題を修正
- 名前空間のスケジュールがスケジュールの制限を超える問題を修正します
- ホットスポットのスケジュールがスケジュールの制限を超える問題を修正
- PD クライアントの終了時に誤ったログが出力される問題を修正
- リージョンハートビートレイテンシーの誤った統計を修正する
TiKV
- 特徴
- ホット リージョンでの書き込み操作によって発生する大きすぎるリージョンを避けるために
batch split
をサポートします。 - 行数に基づいたリージョンの分割をサポートして、インデックス スキャンの効率を向上させます
- ホット リージョンでの書き込み操作によって発生する大きすぎるリージョンを避けるために
- パフォーマンス
LocalReader
を使用して、raftstore スレッドから読み取り操作を分離し、読み取りレイテンシーを下げます。- MVCC フレームワークをリファクタリングし、メモリ使用量を最適化し、スキャン読み取りパフォーマンスを向上させます
- I/O 使用量を削減するために、統計の推定に基づいてリージョンを分割することをサポートします
- ロールバック レコードに対する連続書き込み操作によって読み取りパフォーマンスが影響を受ける問題を最適化します。
- プッシュダウン集計計算のメモリ使用量を削減する
- 改良点
- 多数の組み込み関数のプッシュダウン サポートとより優れた文字セット サポートを追加します。
- GC ワークフローを最適化し、GC 速度を向上させ、GC がシステムに与える影響を軽減します。
prevote
を有効にすると、ネットワークが異常な場合にサービスの回復が高速化されます- 関連する RocksDB ログ ファイルの構成項目を追加します。
scheduler_latch
のデフォルト構成を調整します- tikv-ctl を使用してデータを手動で圧縮する場合に、RocksDB の最レイヤーのデータを圧縮するかどうかの設定をサポートします
- TiKV起動時の環境変数チェックを追加
- 既存のデータに基づいて
dynamic_level_bytes
つのパラメーターを動的に構成するサポート - ログ形式のカスタマイズをサポート
- tikv-ctl に tikv-fail を統合する
- スレッドの I/O メトリックを追加する
- バグの修正
- 小数関連の問題を修正
gRPC max_send_message_len
が誤って設定される問題を修正region_size
の設定ミスによる問題を修正
Playground
登録なしで TiDB の機能をワンストップでインタラクティブに体験できます。