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_ANDBIT_XORREPLACE INTOステートメントの実行速度を最適化し、パフォーマンスをほぼ10倍に向上させます#7027- 時間タイプデータのメモリ使用量を最適化し、時間タイプデータのメモリ使用量を50%削減します#7043
UNIONステートメントで返された結果が符号付き整数および符号なし整数と混合される問題を修正します#7112と互換性がありません。FROM_BASE64RPADLPAD#7171REPEATされた#7409が多#7266ことによって引き起こされる#7431の問題を修正しTO_BASE64MergeJoinがIndexJoinの値を処理するときの誤った結果を修正しNULL#7255- 場合によっては
Outer Joinの誤った結果を修正します#7288 Data Truncatedのエラーメッセージを改善して、表#7401の間違ったデータと対応するフィールドを見つけやすくします。- 場合によっては
decimalの#7208た結果を修正し#7001 #7113 #7202 - ポイント選択のパフォーマンスを最適化する#6937
- 根本的な問題を回避するために、分離レベル
Read Committedを禁止します#7211 - 場合#7291は
LTRIMの誤った結果を修正しRTRIMTRIM 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の設定ミスによって引き起こされる問題を修正します