TiDB 2.1.18 リリースノート
発売日: 2019年11月4日
TiDB バージョン: 2.1.18
TiDB Ansible バージョン: 2.1.18
ティビ
- SQL オプティマイザー
- フィードバック#12172で分割すると無効なクエリ範囲が表示される可能性がある問題を修正しました
- ポイント取得プラン#12341で権限チェックが正しく行われない問題を修正
- Limit演算子を
IndexLookUpReader実行ロジック#12380に押し下げることで、select ... limit ... offset …文の実行パフォーマンスを最適化します。 ORDER BYLIMIT OFFSET#12514GROUP BY使用をサポート- パーティションテーブル上の
IndexJoin誤った結果を返す問題を修正#12713 - 日付文字列とフォーマット文字列が一致しない場合、TiDBの
str_to_date関数がMySQLとは異なる結果を返す問題を修正しました#12757 - クエリ条件に
cast関数が含まれている場合に外部結合が誤って内部結合に変換される問題を修正しました#12791 AntiSemiJoin#12800の結合条件で渡される誤った式を修正
- SQL エンジン
- 時間の丸め間違いを修正(例えば、
2019-09-11 11:17:47.9999996662019-09-11 11:17:48に丸められるべき) #12259 PREPAREステートメントのsql_typeによる期間が監視レコード#12329に表示されない問題を修正しました。from_unixtime関数が null #12572処理するときに発生するpanic問題を修正YEAR型として無効な値が挿入されると、結果が0000#12744ではなくNULLなるという互換性の問題を修正しました。AutoIncrement列が暗黙的に割り当てられたときの動作を改善し、MySQL の自動増分ロックのデフォルトモードとの一貫性を保ちます ( 「連続」ロックモード ): 1 行のInsert文で複数のAutoIncrementID を暗黙的に割り当てる場合、TiDB は割り当てられた値の連続性を保証します。この改善により、JDBCgetGeneratedKeys()メソッドはどのようなシナリオでも正しい結果を得ることができます#12619HashAggApply#12769の子ノードとして機能する場合にクエリがハングする問題を修正しました- 型変換#12813に関して、論理式
ANDとOR誤った結果を返す問題を修正
- 時間の丸め間違いを修正(例えば、
- サーバ
SLEEP()関数がKILL TIDB QUERYステートメント#12159に対して無効であるという問題を修正しましたAUTO_INCREMENTMAX int64とMAX uint64#12210を誤って割り当てた場合にエラーが報告されない問題を修正しました- ログレベルが
ERROR#12373の場合にスロークエリログが記録されない問題を修正 - TiDBがスキーマ変更とそれに対応する変更されたテーブル情報をキャッシュする回数を100から1024に調整し、
tidb_max_delta_schema_countシステム変数#12515使用して変更をサポートします。 - SQL統計をより正確にするために、クエリの開始時間を「実行開始」から「コンパイル開始」に変更します#12638
- TiDBログ#12568に
set session autocommitのレコードを追加する - プラン実行中にリセットされないように、SQLクエリの開始時刻を
SessionVarsに記録する#12676 ORDER BY#12514?GROUP BYホルダーをサポートLIMIT OFFSET- 最後のステートメントが
COMMIT#12724ときに前のステートメントを出力するために、スロークエリログにPrev_stmtフィールドを追加します。 - 明示的にコミットされたトランザクション#12747で
COMMIT失敗した場合、COMMITの前の最後のステートメントをログに記録します。 - TiDBサーバーがSQL文を実行する際の前回の文の保存方法を最適化してパフォーマンスを向上#12751
skip-grant-table=true構成#12816のFLUSH PRIVILEGESステートメントによって発生するpanic問題を修正- 短時間に多数の書き込み要求がある場合にパフォーマンスのボトルネックを回避するために、AutoID を適用するデフォルトの最小ステップを
1000から30000に増やします#12891 - TiDBがパニックになったときに失敗した
Preparedステートメントがエラーログに出力されない問題を修正しました#12954 - スロークエリログの
COM_STMT_FETCH回限りのレコードがMySQL #12953のものと矛盾する問題を修正しました。 - 書き込み競合のエラーメッセージにエラーコードを追加して、原因を素早く特定します#12878
- DDL
- デフォルトでは、列の
AUTO INCREMENT属性の削除は許可されません。この属性を削除する必要がある場合は、tidb_allow_remove_auto_inc変数の値を変更します。詳細についてはシステム変数参照してください#12146 Create Tableステートメント#12469で一意のインデックスを作成するときに複数のuniqueをサポートするCREATE TABLEステートメントの外部キー制約にスキーマがない場合、No Database selectedエラーを返す代わりに、作成されたテーブルのスキーマを使用する必要があるという互換性の問題を修正しました#12678ADMIN CANCEL DDL JOBS#12681を実行するとinvalid list indexエラーが報告される問題を修正
- デフォルトでは、列の
- モニター
PD
- pd-ctl #1772の
--helpコマンド出力を改善する
ツール
- TiDBBinlog