TiDB 2.1.18 リリースノート

発売日:2019年11月4日

TiDB バージョン: 2.1.18

TiDB アンシブル バージョン: 2.1.18

TiDB

  • SQL オプティマイザー
    • フィードバック#12172で分割すると、無効なクエリ範囲が表示される可能性がある問題を修正します
    • ポイントゲットプラン#12341で権限チェックが正しくない問題を修正
    • Limit 演算子をIndexLookUpReader実行ロジック#12380まで押し下げて、 select ... limit ... offset …ステートメントの実行パフォーマンスを最適化します。
    • ORDER BYGROUP BY 、およびLIMIT OFFSETのパラメーターを使用したサポート#12514
    • パーティション テーブルの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ステートメントで複数のAutoIncrement ID を暗黙的に割り当てる場合、TiDB は割り当てられた値の連続性。この改善により、JDBC getGeneratedKeys()メソッドがあらゆるシナリオで正しい結果を得ることが保証されます#12619
    • HashAggApply #12769の子ノードになるとクエリがハングアップする問題を修正
    • 型変換時にANDORの論理式が間違った結果を返す問題を修正#12813
  • サーバ
    • SLEEP()関数がKILL TIDB QUERYステートメントに対して無効である問題を修正します#12159
    • AUTO_INCREMENTMAX int64MAX uint64 #12210を誤って割り当てた場合にエラーが報告されない問題を修正
    • ログ レベルがERROR #12373の場合、スロー クエリ ログが記録されない問題を修正します。
    • TiDB がスキーマの変更とそれに対応する変更されたテーブル情報をキャッシュする回数を 100 から 1024 に調整し、 tidb_max_delta_schema_countシステム変数#12515を使用して変更をサポートします
    • SQL統計をより正確にするために、クエリの開始時間を「実行開始」から「コンパイル開始」に変更します#12638
    • TiDB ログにset session autocommitのレコードを追加#12568
    • SQL クエリの開始時刻をSessionVarsに記録して、プランの実行中にリセットされないようにする#12676
    • ORDER BYGROUP BY 、およびLIMIT OFFSET #12514?のプレースホルダーをサポート
    • スロー クエリ ログにPrev_stmtフィールドを追加して、最後のステートメントがCOMMIT #12724のときに前のステートメントを出力します。
    • 明示的にコミットされたトランザクションでCOMMITが失敗した場合、 COMMITより前の最後のステートメントをログに記録します#12747
    • TiDBサーバーが SQL ステートメントを実行するときの前のステートメントの保存方法を最適化して、パフォーマンスを向上させます#12751
    • skip-grant-table=true構成#12816の下のFLUSH PRIVILEGESステートメントによって引き起こされるpanic問題を修正します。
    • AutoID を適用するデフォルトの最小ステップを1000から30000に増やして、短時間に多くの書き込み要求がある場合のパフォーマンスのボトルネックを回避します#12891
    • TiDB がパニック#12954のときに、失敗したPreparedステートメントがエラー ログに出力されない問題を修正します。
    • スロー クエリ ログのCOM_STMT_FETCH回のレコードが MySQL #12953のレコードと一致しない問題を修正します。
    • 書き込み競合のエラー メッセージにエラー コードを追加して、原因をすばやく特定します#12878
  • DDL
    • デフォルトでは、列のAUTO INCREMENT属性のドロップを禁止します。この属性を削除する必要がある場合は、変数tidb_allow_remove_auto_incの値を変更してください。詳細については、 システム変数を参照してください。 #12146
    • Create Tableステートメントで一意のインデックスを作成するときに複数のuniqueをサポートします#12469
    • CREATE TABLEステートメントの外部キー制約にスキーマがない場合、 No Database selectedエラー#12678を返す代わりに、作成されたテーブルのスキーマを使用する必要があるという互換性の問題を修正します。
    • ADMIN CANCEL DDL JOBS #12681を実行するとinvalid list indexエラーが報告される問題を修正
  • モニター
    • バックオフ監視用のタイプを追加し、コミット時のバックオフ時間など、以前に記録されていないバックオフ時間を補足します#12326
    • Add Index操作の進行状況を監視するための新しいメトリックを追加する#12389

PD

  • pd-ctl #1772--helpコマンド出力を改善

ツール

  • Binlog
    • ALTER DATABASE関連する DDL 操作によってDrainerが異常終了する問題を修正#770
    • コミット バイナリログのトランザクション ステータス情報のクエリをサポートして、レプリケーションの効率を向上させます#761
    • Drainer のstart_tsが Pump の最大のcommit_ts #759より大きい場合、 Pumppanicが発生する可能性がある問題を修正します。

TiDB アンシブル

  • TiDB Binlog #952に「キューサイズ」と「クエリヒストグラム」の2つの監視項目を追加
  • TiDB アラート ルールを更新する#961
  • 展開とアップグレードの前に構成ファイルを確認する#973
  • TiDB #987でインデックス速度を監視するための新しいメトリックを追加します
  • TiDB Binlog監視ダッシュボードを更新して、Grafana v4.6.3 と互換性を持たせます#993
エコシステム
TiDB
TiKV
TiSpark
Chaos Mesh
© 2022 PingCAP. All Rights Reserved.