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