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